是否有一个Unix类型的命令来杀死具有特定名称的所有进程?

前端之家收集整理的这篇文章主要介绍了是否有一个Unix类型的命令来杀死具有特定名称的所有进程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我为 Ruby on Rails应用程序运行了一个名为“delayed_job”的脚本.其中一个选项是使用单独的monitor proc运行此proc.当主程序死亡时,监视器将产生一个新的程序.我也可以运行多个进程.每个都有自己的相关监控过程.

该脚本提供了一种方法来终止主进程,但不提供监视进程.我想杀死所有人.

命令:

ps -ef|grep delayed

收益率:

42011    29423     1  0 Sep25 ?        00:00:02 delayed_job.0_monitor                
42011    29428     1  0 Sep25 ?        00:00:02 delayed_job.1_monitor                
42011    29434     1  0 Sep25 ?        00:00:02 delayed_job.2_monitor                
42011    29437     1  0 Sep25 ?        00:00:01 delayed_job.3_monitor                
42011    23359     1 10 Oct19 ?        03:12:49 delayed_job.0                        
42011     8607     1  5 Oct19 ?        00:58:42 delayed_job.3                        
42011    21442     1 44 12:31 ?        01:02:03 delayed_job.2                        
42011    23092     1  4 14:18 ?        00:01:22 delayed_job.1                        
42011    23861 23763  0 14:51 pts/5    00:00:00 grep delayed

我想杀死他们所有人,或至少杀死监视器.我怎么能杀掉这些(除了grep命令本身)?

http://www.tech-recipes.com/rx/742/kill-the-undesired-unix-processes-in-one-go/对通用的unix有一个很好的写法:管道ps到grep,然后是awk,然后到xargs.

正如另一张海报所提到的那样,请注意任何引发“killall”的滑稽回答,因为它在AIX和Solaris(至少)上的目的与Linux上的目的截然不同.在Solaris上以root身份运行killall是“恢复生成事件”.

猜你在找的Bash相关文章