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"
と入力することで該当のプロセスを停止させることができます
0 件のコメント :
コメントを投稿