මගේ පිළිතුර 'ps' ලැයිස්තුගත කිරීමක "foobar" සෙවීම සඳහා වන සාමාන්ය පිළිතුරෙහි විචලනයකි. "-A" "ps" හි තර්කය "aux" ට වඩා අතේ ගෙන යා හැකි බව මම විශ්වාස කරමි, නමුත් මෙම වෙනස පිළිතුරට අදාල නොවේ. සාමාන්ය පිළිතුර මේ වගේ ය:
$ ps -A -ww | grep [f]oobar
ඒ වෙනුවට මම මෙම රටාව භාවිතා කරමි:
$ ps -A -ww | grep [^]]foobar
මෙහි ඇති ප්රධාන වාසිය නම්, මෙම රටා මත පදනම්ව ස්ක්රිප්ට් ලිවීම පහසු වීමයි, මන්ද ඔබ සොයන ඕනෑම රටාවක් සමඟ ස්ථිතික නූලක් “[^]] සමඟ සංයුක්ත වේ. ඔබට නූලෙහි පළමු අකුර ඉවත් කර හතරැස් වරහන් අතරට ඇතුළු කර එය නැවත එකට සම්බන්ධ කරන්න. කවචයෙන් ස්ක්රිප්ට් කරන විට ඔබ සොයන රටාව ඉදිරිපිට "[^]] ඇලවීම පහසුය. Bash හි නූල් කැපීම අවලස්සන දෙයකි, එබැවින් මගේ විචලනය එය වළක්වයි. මෙම විචලනය පවසන්නේ ප්රමුඛ පෙළේ දකුණු-වරහනක් නොමැතිව රටාව ගැලපෙන රේඛා පෙන්වන්න]. වර්ග වරහනක් බැහැර කිරීමේ සෙවුම් රටාව ඇත්ත වශයෙන්ම වර්ග වරහන රටාවට එකතු කරන බැවින් එය කිසි විටෙකත් නොගැලපේ.
එබැවින් ඔබට අතේ ගෙන යා හැකි 'psgrep' විධානයක් පහත පරිදි ලිවිය හැකිය. මෙන්න, මම ලිනක්ස්, ඕඑස් එක්ස් බීඑස්ඩී සහ වෙනත් අය අතර වෙනස්කම් සඳහා යම් දීමනාවක් ලබා දෙමි. මෙය 'ps' වෙතින් තීරු ශීර්ෂයන් එක් කරයි, මගේ අවශ්යතාවන්ට සරිලන පරිදි වඩාත් අභිරුචි 'ps' ආකෘතියක් සපයයි, තවද විධාන රේඛා තර්ක කිසිවක් මග හැරෙන පරිදි අතිරේක, අමතර පළල ලැයිස්තුගත කිරීමේ ක්රියාවලි පෙන්වයි. හොඳයි, බොහෝමයක් මග හැරී නැත. ජාවා ජාවා වීම, එය බොහෝ විට සිදුවිය හැකි නරකම ආකාරයෙන් සිදු කරයි, එබැවින් ඔබ සමහර ජාවා සේවාවන් ක්රියාවලි වගුව නිරීක්ෂණය කරන උපරිම අවසර ලත් තර්ක ඉක්මවා යයි. මම විශ්වාස කරන්නේ මෙය අක්ෂර 1024 ක් බවයි. ක්රියාවලියක් ආරම්භ කිරීමට අවසර දී ඇති විධාන-හුදකලා දිග බොහෝ දිගු වේ, නමුත් කර්නල් ක්රියාවලි වගුව 1K ට වඩා වැඩි කිසිවක් නිරීක්ෂණය කිරීමට කරදර වන්නේ නැත. විධානය ආරම්භ කළ පසු විධාන නාමය සහ තර්ක ලැයිස්තුව isn '
psgrep ()
{
pattern=[^]]${1};
case "$(uname -s)" in
Darwin)
ps -A -ww -o pid,ppid,nice,pri,pcpu,pmem,etime,user,wchan,stat,command | grep -i -e "^[[:space:]]*PID" -e ${pattern}
;;
Linux)
ps -A -ww -o pid,ppid,tid,nice,pri,pcpu,pmem,etime,user,wchan:20,stat,command | grep -i -e "^[[:space:]]*PID" -e ${pattern}
;;
*) # other UNIX flavors get a minimalist version.
ps -A -ww | grep -i -e ${pattern}
;;
esac
}
ps aux |grep
සමඟ ප්රතිස්ථාපනය කළ හැකිය .pgrep
pgrep -f