📄 temp2.c
字号:
#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <math.h>/* 进程创建 */void main(void){ pid_t child; int status; printf("This will demostrate how to get child status\n"); /* 创建子进程 */ if((child=fork())==-1) { printf("Fork Error : %s\n", strerror(errno)); exit(1); } else if(child==0) // 子进程 { int i; printf("I am the child: %s\n", getpid()); for(i=0;i<1000000;i++) sin(i); i=5; printf("I exit with %d\n", i); exit(i); } while(((child=wait(&status))==-1)&(errno==EINTR)); //子进程未结束 if(child==-1) printf("Wait Error: %s\n", strerror(errno)); else if(!status) // 子进程退出值为0 printf("Child %ld terminated normally return status is zero\n", child); else if(WIFEXITED(status)) // 子进程退出值0 printf("Child %ld terminated normally return status is %d\n", child, WEXITSTATUS(status)); else if(WIFSIGNALED(status)) // 子进程未获信号而退出 printf("Chlid %ld terminated due to signal %d not caught\n", child, WTERMSIG(status));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -