使用了这么多年的 Ubuntu, 自以为 Linux 下进程的概念已经很熟悉了, 然而发现进程组(Process Group)和会话(Session)两个概念日常并不会接触很多, 平时也没有注意, 导致今天遇到一个问题还想了半天才想明白...引子--问题
我们知道在命令行运行的前台命令, 可以随时通过 Ctrl-C 关闭掉....相关命令
kill 命令用来给 pid 发送信号, 一般命令形式是 kill -SIG PID, 可以在PID参数前面加上 - 表示一个 Process Group, 而不是 Process....一般情况下, shell 进程是当前 session 的 leader, 当我们运行每个命令的时候都会创建一个新的 Process Group, 如果这时候某个孤儿进程组中有进程是 STOP 状态的,...也就是说当我们退出 shell 的时候, 内核会向 session 中的
前台进程组
孤儿进程组
发送 SIGHUP 信号, 从而退出他们. 那么问题来了, 后台进程组呢?