我正在编写一个使用system()
函数启动另一个程序的C程序。如果主程序被杀死,我想知道是否有可能杀死启动的程序。我正在为Linux机器编程
示例:
/* foo.c */
int main()
{
system("./blah");
return 0;
}
blah做了什么必须做的事。如果我杀了foo,blah仍在运行。答案 0 :(得分:4)
您需要使用信号处理来了解某人/某物何时试图杀死您的应用程序,请阅读以下文档以获取更多信息。
除此之外,您还需要知道您生成的子进程的进程ID 。为此,我建议使用比system
更复杂的东西来启动已启动的流程。
您还必须知道如何杀死衍生的孩子(使用它的pid
)。