使用kill命令格式的操作有什么不同,在什么情况下使用哪一种。
kill -9 process-id
kill SIGUSR2 process-id发布于 2012-12-14 02:36:45
如果您想要将SIGUSR2发送到进程,您将使用以下任一方法:
kill -SIGUSR2 $pid
kill -USR2 $pid
kill -10 $pid # This will vary with platform如果要将SIGKILL发送到进程,可以使用以下任一方法:
kill -SIGKILL $pid
kill -KILL $pid
kill -9 $pid我不知道如何回答你关于“哪个场景”的问题。如果你想发送USR2,那么你可以使用前3个命令中的一个。如果你想发送KILL,你可以使用后者之一。您通常希望避免使用KILL,因为接收KILL的进程不能自行清理。另一方面,很多软件写得很糟糕,只能通过SIGKILL终止。通常认为更礼貌的做法是发送TERM,然后在第二次发送TERM之前等待一段时间,然后在发送KILL之前再次等待。USR2通常只对期望它的程序有用,并且会以某种有用的方式响应。如果程序不需要该信号,并且没有采取任何操作来忽略它,则默认行为是终止。
请注意,SIGUSR2的特定信号数是不同的。根据平台的不同,它可能是10、12、31,也可能是许多其他值。最好避免显式设置该值。唯一为standardized的信号号是1、2、3、6、9、14和15,所以9始终是SIGKILL,但是SIGUSR2可能(并且确实是!)变化。
https://stackoverflow.com/questions/13865045
复制相似问题