- #include"stdio.h"
- #include"sys/types.h"
- #include"unistd.h"
- #include"signal.h"
- void sigint_handler(int sig)
- {
- printf("recevied SIGINT signal successed!\n");
- return;
- }
- void main()
- {
- int pid=fork();
- if(pid==0)
- {
- printf("子进程pid: %d\n", getpid());
- sleep(2);
- printf("休眠后的pid:%d\n",getpid());
- sleep(2);
- printf("第二次休眠后的pid:%d\n",getpid());
- exit(1);
- }
- else if(pid>0)
- {
- signal(SIGCHLD, sigint_handler);
- pause();
- }
- else if(pid<0)
- {
- printf("创建进程出错!\n");
- exit(1);
- }
- }
本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/702518