使用了这么多年的 Ubuntu, 自以为 Linux 下进程的概念已经很熟悉了, 然而发现进程组(Process Group)和会话(Session)两个概念日常并不会接触很多, 平时也没有注意, 导致今天遇到一个问题还想了半天才想明白...进程可以理解为 "进行中的程序", 在 Linux 上可以通过 fork 来创建新的进程, 然后可以使用 exec 来在子进程或者父进程中执行新的程序....会话 -- session
session 是一个更大的概念, 一个 session 中可以包含多个 process group....group 中的进程属于不同的 session, 所以 POSIX 标准直接禁止了这么做.
session 退出
当一个session leader 退出时, 其他进程不会受到任何影响, 但是因为 session...leader 退出可能造成 orphaned process group, 因此在shell中, 一般情况下会造成进程退出的情况
Orphaned Process Group
当一个 group leader