gpt4 book ai didi

c++ - 僵尸进程和 fork

转载 作者:太空狗 更新时间:2023-10-29 23:47:36 26 4
gpt4 key购买 nike

我有这样的代码...

c = fork();
if(c==0) {
close(fd[READ]);

if (dup2(fd[WRITE],STDOUT_FILENO) != -1)
execlp("ssh", "ssh", host, "ls" , NULL);
_exit(1);

}
close(fd[WRITE]);

fd[READ] 和 fd[WRITE] 是管道文件描述符。

当我连续运行的时候,用ps ax的时候出现了很多僵尸进程。如何纠正这个?这是因为我没有使用父进程来等待子进程的退出状态吗...

最佳答案

如果您无意等待您的子进程,请将SIGCHLD 处理程序设置为SIG_IGN 让内核自动获取您的子进程,例如。

signal(SIGCHLD, SIG_IGN);

关于c++ - 僵尸进程和 fork ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4873092/

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