組み込み技術を向上したい!!

でも組み込み以外にも手を出し始めました・・・

LinuxでCOMMANDからPIDを取得してプロセスをキルする方法

まずは ps auxw で実行中のプロセスを表示させてみます。
目的のCOMMANDが発見できたらPIDの番号を確認します。
例えば、目的のPIDが2345だった場合は

sudo kill -9 2345

でプロセスをキルできるはずです。
この辺の作業を目視で人間が行うのではなく、
shellとか使ってやれると便利だなぁって思いました。

以下のようにやるとできそうです。
まずは、目的のCOMMANDのPIDを知る必要があります。
grepgrep -vを使って、ps auxwの中から目的のCOMMANDのPIDを探しだします。
(grepで一致した行をピックアップして、 grep -vで一致しない行をピックアップする感じ)
そして、awk ‘{print$2}’ で目的のPIDを出力させてあげれば、後はそれをkillするだけです。
(awkの引数の$2っていうのはps auxwで表示された内容の左から2番目の要素ってこと)

例えばtoggleIOっていうC言語で作った実行ファイルをkillするときは↓みたいにするとうまくいきました。

sudo kill -9 `ps auxw | grep ./toggleIO | grep -v grep | grep -v sudo | awk '{print $2}'`

(拡張正規表現を使いたいときはegrepを使ってね。)

きちんとkillできたかどうかはもう一度ps auxwとか使って、プロセスの確認をしてください。

Good Luck!!