1、编写一段程序,使用系统调用函数fork( )创建两个子进程,
再用系统调用函数signal( )让父进程捕捉信号SIGINT(用kill命令来触发),当捕捉到中断信号后,
父进程用系统调用函数kill( )向两个子进程发出信号,子进程捕捉到父进程发来的信号后,分别输出下列信息后终止:
Child process 1 is killed by parent!
Child process 2 is killed by parent!
或者
Child process 2 is killed by parent!
Child process 1 is killed by parent!
父进程等待两个子进程终止后,输出以下信息后终止:
Parent process exit!
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
//SIGINT信号响应函数
void parent_fun(int sig);
//SIGUSR1信号响应函数
void child_fun(int sig);
pid_t pids[2]={0}; //记录子进程pid号,方便之后kill掉
int main(int argc, char const *argv[])
{
pid_t x;
//1.派生两个子进程
int i;
for(i=0; i<2; i++