![当我退出终端窗口时,子进程如何仍在运行?](https://linux22.com/image/1091615/%E5%BD%93%E6%88%91%E9%80%80%E5%87%BA%E7%BB%88%E7%AB%AF%E7%AA%97%E5%8F%A3%E6%97%B6%EF%BC%8C%E5%AD%90%E8%BF%9B%E7%A8%8B%E5%A6%82%E4%BD%95%E4%BB%8D%E5%9C%A8%E8%BF%90%E8%A1%8C%EF%BC%9F.png)
当我执行时
dd if=/dev/zero of=/dev/null
然后关闭终端窗口,我发现它dd
仍在运行,并且它的 PPID 与第一次不同。dd
进程发生了什么?
每当杀死父进程时就会杀死子进程吗?
答案1
关闭交互式非登录终端(例如 Gnome 或 kde 中的终端窗口)不会发送 SIGHUP 信号。您可以在其他类型的 shell 中更改该行为(通过 huponexit 选项),但不能在交互式非登录终端中更改。请参阅https://askubuntu.com/a/685291/798765了解有关 huponexit 的更多详细信息;)