当我退出终端窗口时,子进程如何仍在运行?

当我退出终端窗口时,子进程如何仍在运行?

当我执行时

dd if=/dev/zero of=/dev/null

然后关闭终端窗口,我发现它dd仍在运行,并且它的 PPID 与第一次不同。dd进程发生了什么?

每当杀死父进程时就会杀死子进程吗?

答案1

关闭交互式非登录终端(例如 Gnome 或 kde 中的终端窗口)不会发送 SIGHUP 信号。您可以在其他类型的 shell 中更改该行为(通过 huponexit 选项),但不能在交互式非登录终端中更改。请参阅https://askubuntu.com/a/685291/798765了解有关 huponexit 的更多详细信息;)

相关内容