gpt4 book ai didi

c - 如何让程序自动重启? (Linux进程)

转载 作者:IT王子 更新时间:2023-10-29 00:22:06 25 4
gpt4 key购买 nike

我试图让我的程序自行重启,但似乎没有任何效果。我尝试使用 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;
}

最佳答案

如果您只是要杀死 the parent,为什么还要费心使用fork?只需执行 exec。该程序的新实例仍将是相同的进程,但实际上会重新启动。

关于c - 如何让程序自动重启? (Linux进程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com