[UNIX]signal函数捕捉SIGCLD信号

来源:互联网 发布:python selenium实战 编辑:程序博客网 时间:2024/06/05 10:17
#include <apue.h>#include <sys/wait.h>static void sig_cld(int);int main(){pid_t pid;if(signal(SIGCLD,sig_cld) == SIG_ERR)perror("signal error");if((pid = fork()) < 0)perror("fork error");else if(pid == 0){   /* child */sleep(2);_exit(0);}pause();   /* parent */exit(0);}static void sig_cld(int signo){pid_t pid;int status;printf("SIGCLD received\n");if(signal(SIGCLD,sig_cld) == SIG_ERR)perror("signal error");if((pid = wait(&status)) < 0) /* fetch child status*/perror("wait error");printf("pid = %d\n",pid);}


学无止境不耻下问:includestdio.com

原创粉丝点击