Unixで特定のプロセスだけを監視する
目的
- 特定のプロセスだけの状態を確認したかった。全部とか、特定のユーザーだけなら、
htopやtopコマンドでみるのがインタラクティブでよい。ただ、これでは特定のプロセスだけに絞り込んでみれない(出来るなら教えてください......)。
やり方
watch --interval=0.5 ps auxw | grep -w ${process_name}
ってやると、process_nameだけの状態が0.5秒おきに更新されてわかる。watch --interval=0.5 ps auxw | grep -w pythonとかやれば、pythonだけがわかる。便利。
watchコマンドは、ファイルとかの更新を自動で検知してくれて表示してくれるやつ。Macにはもともと入ってなくて、brew install watchした。
結果
以下がwatchコマンドの様子。並列処理を書いていて、立ち上げたwokerプロセスがちゃんとCPUを使っているかどうかとか、そういうのの確認をしたくて調べていた。
便利なので、ターミナルに一つウィンドウを立ち上て、これだけ表示して使っている。
