yukke::note

technical note

Unixで特定のプロセスだけを監視する

目的

  • 特定のプロセスだけの状態を確認したかった。全部とか、特定のユーザーだけなら、htoptopコマンドでみるのがインタラクティブでよい。ただ、これでは特定のプロセスだけに絞り込んでみれない(出来るなら教えてください......)。

やり方

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を使っているかどうかとか、そういうのの確認をしたくて調べていた。

http://gyazo.com/6c3439a3607c3c08460c20dc60645d38.gif

便利なので、ターミナルに一つウィンドウを立ち上て、これだけ表示して使っている。