linux kill进程组的两种方法
场景假设:linux运行nginx这样的服务进程,这时nginx会有多个相关的进程:
不考虑使用linux的service等命令进行管理的情况,如何方便地关闭nginx进程?
kill
kill
命令是linux常用的关闭进程基础命令。关闭指定pid的进程:
kill -9 {pid}
一般情况下,pid都是正值,当pid为负值时,kill可以用来关闭进程组。针对nginx的例子,可以通过:
kill -9 -13611 #负值,关闭13611进程组
实现。但使用kill的负值pid功能时,要谨慎。
根据kill手册,kill -9 -1
是特殊的,会把几乎所有的进程都打杀掉,只留下init和它自身。
pkill
相比于kill
,pkill
支持通过进程名等杀掉进程。针对nginx的例子,可以通过:
pkill -9 nginx
实现。