-1
pid_t pid;
if ((pid == fork()) == 0){
if (execvp(arg[0], arg) < 0) {
printf("%s: Command not found.\n", arg[0]);
exit(0);
}
}
if (background == 0)
{
int status;
if (waitpid(pid, &status, 0) < 0)
printf("waitfg: waitpid error");
while(waitpid(-1, 0, WNOHANG) >= 0){}
}
else
{
printf("%d %s", pid, cmdline);
}
私のプログラムにはこのコードがありますが、親プロセスにすべての子プロセスを取得しようとしていますが、問題はまだ解決していないということです。私はコードを使用しようとしています:子プロセスとバックグラウンドを取得する
while(waitpid(-1, 0, WNOHANG) >= 0){}
ゾンビプロセスを取り除いていないようです。代わりに刈り取るために何をしなければならないのですか
また、私はここに背景をしているかどうかはわかりません。
に置き換える必要があります。if((pid == fork())== 0){'if((pid = fork())== 0){' – Garf365
もう1つはほこりをかむ、(「賢い」化合物の発現)。 –