Linux C取得プロセス終了値の実装コード
998 ワード
次のコードに示します.
参考:「man 2 wait」
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
pid_t pid;
int stat;
int exit_code;
pid = fork();
if(pid == 0)
{
sleep(3);
exit(5);
}
else if( pid < 0 )
{
fprintf(stderr, "fork failed: %s", strerror(errno));
return -1;
}
wait(&stat); //
if(WIFEXITED(stat)) // return, exit, _exit , WIFEXITED() true
{
exit_code = WEXITSTATUS(stat);
printf("child's exit_code: %d
", exit_code);
}
return 0;
}
参考:「man 2 wait」