终端关闭时子进程的反应

阅读量: searchstar 2022-04-17 13:39:11
Categories: Tags:

终端关闭时,会向上面的进程发送SIGHUP (SIGnal Hang UP),这个信号的默认行为是终止进程。用nohup运行的命令就忽略了SIGHUP信号,这样父终端退出之后就挂到init进程上。

但是如果终端是被杀死的,比如kill -9,那么SIGHUP不一定会被发送给子进程,这时子进程就直接变成孤儿进程,被init进程收养了。

参考:

https://baike.baidu.com/item/SIGHUP/10181604

https://en.wikipedia.org/wiki/SIGHUP

https://baike.baidu.com/item/nohup/5683841

https://baike.baidu.com/item/%E5%AD%A4%E5%84%BF%E8%BF%9B%E7%A8%8B