目的のプロセスをコマンド一発で見つける方法
$ alias pfind='ps aux | grep '
Helpful alias to grep for the PID. | Command-line Fu
こういう方法が紹介されていたけど、これだとgrep自身のプロセスが表示されちゃうから、こうした方が良いと思う。
function pfd(){ PSAUX=$(ps aux) echo $PSAUX | head -1 echo $PSAUX | grep $1 | grep -v grep }
実行結果の違い
21:54 ama-ch% ps aux | grep Firefox [~] ama-ch 477 59.3 9.2 1453984 385752 ?? Rs 9:53AM 242:26.88 /Applications/Firefox.app/Contents/MacOS/firefox-bin -foreground ama-ch 8887 0.0 0.0 87080 320 s001 R+ 10:01PM 0:00.00 grep Firefox
22:01 ama-ch% pfd Firefox [~] USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND ama-ch 477 57.0 9.2 1453488 385256 ?? Rs 9:53AM 242:30.85 /Applications/Firefox.app/Contents/MacOS/firefox-bin -foreground
後者の方が見やすいです多分!
あと参照元ページのコメントに「pidofかpgrep使えボケ*1」って書いてあったので、MacPortsで調べてみた。
21:48 ama-ch% port search pidof No match for pidof found 21:49 ama-ch% port search pgrep proctools @0.4pre1 (sysutils) pgrep, pkill and pfind for OpenBSD and Darwin (Mac OS X)
pgrepは見つかりました。pgrep,pkill,pfindがセットなのかぁ。
使ってみたけどpidが出るだけでよくわからりませんでした。酔っぱらってるからかも知れません。