#include <stdio.h>
#include <signal.h>
#include <sys/types.h>
#include <stdlib.h>
void myfunc(int sign)
{
if(sign == SIGINT)
{
printf("hello world!\n");
}
if(sign == SIGQUIT)
{
printf("exit!\n");
exit(1);
}
}
int main()
{
pid_t pid;
int select;
pid = fork();
if(pid == 0)
{
signal(SIGINT,myfunc);
signal(SIGQUIT,myfunc);
pause();
}
if(pid > 0)
{
scanf("%d",&select);
if( select == 1)
{
kill(pid,SIGINT);
}
if(select == 2)
{
kill(pid,SIGQUIT);
}
}
}
signal_test.c
最新推荐文章于 2022-03-12 17:32:27 发布
本文介绍了一个使用C语言实现的简单程序,该程序通过信号处理函数来响应键盘中断(SIGINT)和退出请求(SIGQUIT)。当接收到SIGINT信号时,程序会输出“hello world!”;若接收到SIGQUIT,则输出“exit!”并终止进程。此外,还演示了如何通过父进程发送这两种信号给子进程。
摘要由CSDN通过智能技术生成