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