我正在开发一个多用户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
这样的命令,所以我可以指定开始和结束进程并杀死范围内的所有进程?
答案 0 :(得分:17)
使用shell的大括号扩展语法:
$ kill {3457..3464}
扩展为:
$ kill 3457 3458 3459 3460 3461 3462 3463 3464
或者您可以使用pkill
按名称终止进程。例如:
$ pkill -f process_to_kill.py