我正在尝试从父进程访问分叉子进程的退出状态,但我得到了奇怪的答案。有时,我得到 256 或有时我得到一个负数,具体取决于我指定 &status 还是仅指定 status。我知道我真的很亲近。有人可以为我提供一点帮助,我将如何获得 EXIT_STATUS
这是我的代码
pid_t pid;
int *status;
if((pid = fork()) < 0)
fprintf(stdout, "Error forking child process\n");
else if (pid == 0)
{
execvp(input[0], input);
fprintf(stdout, "Invalid process!!\n");
_exit(EXIT_FAILURE);
}
else
{
while (waitpid(-1, status, 0) != pid);
fprintf(stdout, "The status is %d\n", &status);
}