#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<signal.h>
#include<stdlib.h>
void sigint_handler(int sig)
{
printf("received SIGINT signal successed!\n");
return;
}
void main()
{
/*创建子进程*/
int pc;
pc=fork();
if(pc==0)
{
printf("this is child process pid%d\n",getpid());
sleep(3);
printf("this is child process pid first sleep %d\n",getpid());
sleep(3);
printf("this is child process pid second sleep %d\n",getpid());
exit(1);
}else
if(pc>0)
{
signal(SIGINT,sigint_handler);
pause();
}else
if(pc<0)
{
printf("创建进程出错!");
exit(1);
}
}
记得子进程3条信息打印完后按Ctrl+C