如何杀死 Linux 中的一系列连续进程?

How to kill a range of consecutive processes in 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这样的命令,这样我就可以指定开始和结束进程并杀死范围内的所有进程?

使用 shell 的大括号扩展语法:

$ kill {3457..3464}

扩展为:

$ kill 3457 3458 3459 3460 3461 3462 3463 3464

或者您可以使用 pkill 按名称终止进程。例如:

$ pkill -f process_to_kill.py