为什么killall(有时?)需要应用两次?
为什么killall(有时?)需要应用两次? 这是一个例子 ,需要一个“双” killall
来结束这个过程。
何时以及为什么一个过程需要“两次”杀死? 发动机罩下发生了什么?
我将说明特定于应用程序的可能性。
当您使用killall program
,会向程序发送SIGTERM
(信号15)。 对SIGTERM
的通常反应是该程序将优雅地退出。
现在因为SIGTERM
是可捕获的,所以程序可以拥有SIGTERM
的信号处理程序,它将在接收到第一个SIGTERM
(第一个killall
)时执行某些任务并返回到第二个SIGTERM
将终止它的状态(默认动作)。 这当然高度依赖于程序的开发者,而不是一般情况。