首页 > 解决方案 > Linux 父/子进程组和信号

问题描述

我有一个有趣的设置。我有一个包装脚本可以做一些事情,并启动一个子进程。我希望能够做到以下几点:

据我所知,这里有点矛盾。为了满足第一个要求,据我所知,我需要在子进程的进程组上使用 killpg 。这很好,但它也会杀死包装脚本本身,因为子脚本具有父脚本的进程组。

所以现在如果我在孩子中设置pgrp以便它得到一个单独的PG,我可以正确地杀死它和它的孩子,但我没有失去第二个要求(如果包装器被杀死它不会去孩子)。

我可以通过在包装脚本中注册一个信号处理程序并通过 killpg 传递信号来解决这个问题,但是这对 SIGKILL 不起作用......这让我有点自相矛盾。

有什么可能的解决方案吗?

标签: linuxprocesssignalsprocess-group

解决方案


推荐阅读