首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘`trap`’- Linux信号- SIGSTOP?

‘`trap`’- Linux信号- SIGSTOP?
EN

Stack Overflow用户
提问于 2016-05-11 13:28:10
回答 1查看 2.2K关注 0票数 4

Docker 文档注意到在容器关闭时如何运行clean up (w/代码):

最后,如果你需要做一些额外的清理..。在关闭时,.您可能需要确保ENTRYPOINT脚本接收Unix信号,传递它们,然后再做更多的工作

代码语言:javascript
复制
#!/bin/sh

trap "echo TRAPed signal" HUP INT QUIT KILL TERM

/usr/sbin/apachectl start

我认为这个trap会捕捉到一个KILL信号。然而,我在这个帖子中读到了

进程可以截获除SIGKILL和SIGSTOP以外的所有信号。

然而,另一个帖子声明:

有一个信号是你无法捕捉的: SIGKILL或信号9。

到底是哪一个?

EN

回答 1

Stack Overflow用户

发布于 2016-05-11 14:56:28

你抓不到SIGSTOP。你提到的那一页是错的。

是的,上面的脚本试图捕捉杀死信号。但失败了。您可以使用以下脚本轻松地验证这一点:

代码语言:javascript
复制
#!/bin/sh

echo "Running shell in pid $$"
trap "echo TRAPed signal" HUP INT QUIT KILL TERM STOP

sleep 20

尝试向它发送杀死和停止信号,您将看到进程分别死亡和停止,而没有打印消息。如果您尝试任何其他捕获信号,您将看到这些处理与预期。

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

https://stackoverflow.com/questions/37164161

复制
相关文章

相似问题

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