【linux】プロセスを殺す操作周り ~ps grep kill~
プロセスを殺すには
ps
コマンドからPID(プロセスID)を取得して、
kill -9 PID
を行う必要がありますが、
※「-9」は「Killシグナルによるプロセスの終了」のシグナルを送信している
psコマンドの結果から停止したいプロセスのPIDのみを抽出できないか?
調べたところ、以下のコマンドで行えました。(TweetDeckが停止させるプロセス)
ps -ef | grep TweetDeck | grep -v 'grep' | awk {'print $2'}
※psの"-e" はすべて (every) のプロセスを選択し、 "-f" は完全な (full) 出力フォーマットを選ぶ。(wikipediaより引用)
ps -ef | grep TweetDeck
psコマンドの結果から文字列'TweetDeck'が含まれる行を抽出し、
| grep -v 'grep'
たった今実行したgrepコマンドを抽出結果から除外し、
| awk {'print $2'}
2列目の文字列のみを出力(2列目にPIDが表示されるため)
これで対象プロセスのPIDのみを表示させる事が出来ました。
※参考にさせて頂きました
LinuxでプロセスIDをgrepして引数に渡す方法 - tanamonの日記
尚上記のコマンドは冗長なもので、pgrep、pkillといった便利コマンドもあるようです。
限られたコマンドで工夫するもの楽しいですけどね。