|
#include <sys/types.h>
#include <sys/wait.h>
int main()
{
pid_t pid=fork();
if(pid==0)
{
exit(5);
}
else if(pid>0)
{
int status;
int option=WUNTRACED;
waitpid(pid,&status,option);
if(WIFEXITED(status))
printf("return(exit) code is %d\n",WEXITSTATUS(status));
if(WIFSIGNALED(status))
printf("term signal's ID is %d\n",WTERMSIG(status));
if(WIFSTOPPED)//you must use WUNTRACED as a param in waitpid
printf("stop sigal's id is %d\n",WSTOPSIG(status));
}
}
程序运行结果:return(exit) code is 5,请问如果要让它出现后面两种结果,该怎样编程阿,谢谢 |
|