web-dev-qa-db-ja.com

Linuxで一連の連続したプロセスを強制終了する方法は?

私はマルチユーザーUbuntuサーバーで作業していて、マルチプロセッシングpythonスクリプトを実行する必要があります。これらのプロセスの一部を強制終了する必要がある場合があります。たとえば、

$ ps -eo pid,comm,cmd,start,etime | grep .py
3457 python          python process_to_kill.py - 20:57:28    01:44:09
3458 python          python process_to_kill.py - 20:57:28    01:44:09
3459 python          python process_to_kill.py - 20:57:28    01:44:09
3460 python          python process_to_kill.py - 20:57:28    01:44:09
3461 python          python process_to_kill.py - 20:57:28    01:44:09
3462 python          python process_to_kill.py - 20:57:28    01:44:09
3463 python          python process_to_kill.py - 20:57:28    01:44:09
3464 python          python process_to_kill.py - 20:57:28    01:44:09
13465 python         python process_not_to_kill.py - 08:57:28    13:44:09
13466 python         python process_not_to_kill.py - 08:57:28    13:44:09

プロセス3457-3464が強制終了されます。これまでのところ

$ kill 3457 3458 3459 3460 3461 3462 3463 3464

$ kill 3457-3464のようなコマンドがあるので、開始プロセスと終了プロセスを指定して、範囲内のすべてのプロセスを強制終了できますか?

9
Xiaofeng Fan

シェルのブレース展開構文を使用します。

$ kill {3457..3464}

これは次のように展開されます。

$ kill 3457 3458 3459 3460 3461 3462 3463 3464

または、pkillを使用して名前でプロセスを強制終了できます。例えば:

$ pkill -f process_to_kill.py
18
John Kugelman