【发布时间】:2012-01-08 07:04:15
【问题描述】:
我正在尝试让我的程序自行重启,但似乎没有任何效果。我尝试使用fork(),但在杀死 the parent 进程后 the child 也被杀死了。
代码
void sigup_handler(int signum) {
int pid = fork();
if (pid == 0) {
execve("prog2", NULL);
}
else
kill(getpid(), SIGTERM);
}
int main() {
puts("Program 2 started.");
signal(SIGHUP, sigup_handler);
sleep(50);
puts("Program 2 terminated.");
return 0;
}
【问题讨论】:
标签: c linux process operating-system