杀死其他程序在杀死时创建的子程序

时间:2012-03-14 15:35:06

标签: c linux

我正在编写一个使用system()函数启动另一个程序的C程序。如果主程序被杀死,我想知道是否有可能杀死启动的程序。我正在为Linux机器编程 示例:

/* foo.c */
int main()
{
    system("./blah");
    return 0;
}
blah做了什么必须做的事。如果我杀了foo,blah仍在运行。
有没有办法让foo在死亡时杀死它?

1 个答案:

答案 0 :(得分:4)

您需要使用信号处理来了解某人/某物何时试图杀死您的应用程序,请阅读以下文档以获取更多信息。


除此之外,您还需要知道您生成的进程的进程ID 。为此,我建议使用比system更复杂的东西来启动已启动的流程。


您还必须知道如何杀死衍生的孩子(使用它的pid)。