首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用kill -9和kill SIGUSR2的区别

使用kill -9和kill SIGUSR2的区别
EN

Stack Overflow用户
提问于 2012-12-14 01:17:39
回答 1查看 7.1K关注 0票数 0

使用kill命令格式的操作有什么不同,在什么情况下使用哪一种。

代码语言:javascript
复制
kill -9 process-id
kill SIGUSR2 process-id
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-14 02:36:45

如果您想要将SIGUSR2发送到进程,您将使用以下任一方法:

代码语言:javascript
复制
kill -SIGUSR2 $pid
kill -USR2 $pid
kill -10 $pid   # This will vary with platform

如果要将SIGKILL发送到进程,可以使用以下任一方法:

代码语言:javascript
复制
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可能(并且确实是!)变化。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13865045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档