31 lines
529 B
C
31 lines
529 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
#include <signal.h>
|
|
#include <sys/types.h>
|
|
|
|
int main()
|
|
{
|
|
pid_t pid;
|
|
pid = fork();
|
|
if (pid < 0)
|
|
{
|
|
perror("fork");
|
|
exit(1);
|
|
}
|
|
|
|
else if (pid > 0) // 父进程的代码
|
|
{
|
|
printf("这是父进程\n");
|
|
// 使用 pause 阻塞等待捕捉信号
|
|
pause();
|
|
}
|
|
else // 子进程的代码区
|
|
{
|
|
printf("这是子进程\n");
|
|
sleep(3);
|
|
kill(getppid(), SIGINT);
|
|
}
|
|
|
|
return 0;
|
|
} |