首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在子subshell退出之前停止子subshell的子进程(按照SIGSTOP)?

如何在子subshell退出之前停止子subshell的子进程(按照SIGSTOP)?
EN

Unix & Linux用户
提问于 2018-12-22 16:39:45
回答 1查看 549关注 0票数 1

在bash中,当运行( sleep 123 &)时,当子subshell退出时,sleep 123进程将继续运行。如何在sleep 123进程的父子subshell退出之前停止它?

由于接收到了sleep 123SIGCONT,我正在试图查看是否会终止该进程。我想找一个是否被发送到这个孤立的进程,为什么它不终止?内核是否将SIGHUP发送到成为孤立进程并包含已停止进程的进程组,默认情况下终止所有进程?的例子

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-12-22 18:41:10

这将显示您试图说明的行为:

代码语言:javascript
复制
(sleep 60 & kill -STOP $!)

这将sleep放在后台,然后停止它。然后,当子外壳退出时,它会被SIGHUP杀死。

信号可以中断某些系统调用;请参阅这个signal(7)命令页 (特别是“信号处理程序中断系统调用和库函数”一节)。特别是sleep使用的系统调用在调用信号处理程序时会被中断,这在sleep(3)中有记录。

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

https://unix.stackexchange.com/questions/490495

复制
相关文章

相似问题

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