%20%E7%B3%BB%E7%BB%9F%E5%85%B3%E9%97%AD%E6%97%B6%EF%BC%8C%E5%93%AA%E4%BA%9B%E8%BF%9B%E7%A8%8B%E4%BC%9A%E6%94%B6%E5%88%B0%20SIGTERM%EF%BC%9F.png)
如果我启动一个正在进行的后台进程 A,它又启动一个子进程 B,然后我要求操作系统关闭,哪些进程会收到 SIGTERM 信号?是 A 和 B 都有,还是只是 A(假设 A 应该负责关闭 B)?
答案1
问题涉及 Ubuntu Xenial(其他版本可能有所不同)。
该手册用于shutdown
说全部:
全部进程首先收到信号通知系统即将关闭
SIGTERM
。这使得vi(1)
保存正在编辑的文件的时间、邮件和新闻处理程序等程序有机会干净地退出等。
没有指定的顺序;您的程序应该准备好让父进程或子进程首先接收SIGTERM
。通常在收到信号后会有一个延迟(但这不是必需的)。