为什么killall(有时?)需要应用两次?

为什么killall(有时?)需要应用两次? 这是一个例子 ,需要一个“双” killall来结束这个过程。

何时以及为什么一个过程需要“两次”杀死? 发动机罩下发生了什么?

我将说明特定于应用程序的可能性。

当您使用killall program ,会向程序发送SIGTERM (信号15)。 对SIGTERM的通常反应是该程序将优雅地退出。

现在因为SIGTERM是可捕获的,所以程序可以拥有SIGTERM的信号处理程序,它将在接收到第一个SIGTERM (第一个killall )时执行某些任务并返回到第二个SIGTERM将终止它的状态(默认动作)。 这当然高度依赖于程序的开发者,而不是一般情况。