[Linux]プロセスをまとめてkillする

2021年6月10日木曜日

Linux


Linuxのkillコマンドを使ってプロセスを一括終了する方法を紹介します

 


結論

部分一致で該当するプロセスをすべて停止する場合は下記コマンドを実行します
pgrep "killしたいプロセス名" | xargs kill


こちらの方法は完全一致したプロセスを停止します
完全一致するプロセスが存在しない場合は、"no process found"が出力されます
killall "killしたいプロセス名"

上記2コマンドの使い分けとしては、
停止したいプロセスが1種類のみの場合は killallを利用し、
停止したいプロセスが2種類以上(例:python, python3)の場合はpgrep~を利用すると
良いかと思います

例として pythonとpython3のプロセスをまとめてkillする場合は
下記コマンドとなります
pgrep python | xargs kill

解説

pgrepとは?

"実行中プロセスを、
プロセス名などを使用しプロセスIDを検索するコマンド"です

例として下記のようなプロセスが稼働している時
 PID  TTY      TIME     CMD
 2535 pts/1    00:00:00 bash
 3454 pts/1    00:00:06 python3
 3477 pts/1    08:20:36 python3
 3482 pts/1    08:19:35 python3
26064 pts/1    00:00:25 python3
26065 pts/1    00:00:26 python3
26066 pts/1    00:00:25 python3
29473 pts/1    00:00:00 ps

下記のコマンドを入力すると
pgrep python

結果は以下の通りPIDを取得できます
3454
3477
3482
26064
26065
26066

xargsとは?

"前のコマンドの実行結果を受け取り、次のコマンドに引き渡す"コマンドです
先ほどの下記のコマンドを例にとると
pgrep python | xargs kill

pgrepで取得したpythonのPIDを、killコマンドに引き渡す
ということをxargsが行っています。

killとは?

"実行中のプロセスを強制的に停止させる"コマンドです
例として
kill "停止させたいプロセスのPID"

と入力することで該当のプロセスを停止させることができます

AIで副業ならココから!

まずは無料会員登録

プロフィール

メーカーで研究開発を行う現役エンジニア
組み込み機器開発や機会学習モデル開発に従事しています

本ブログでは最新AI技術を中心にソースコード付きでご紹介します


Twitter

カテゴリ

このブログを検索

ブログ アーカイブ

TeDokology