简单信号处理
来源:互联网 发布:网络优化工程师证书 编辑:程序博客网 时间:2024/06/15 09:18
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
/*
* SIGHUP: 从终端上发出的结束信号
* SIGINT: 来自键盘的中断信号(Ctrl-C)
* SIGQUIT:来自键盘的退出信号(Ctrl-\)
* SIGFPE: 浮点异常信号(例如浮点运算溢出)
* SIGKILL:该信号结束接收信号的进程
* SIGALRM:进程的定时器到期时,发送该信号
* SIGTERM:kill 命令发出的信号
* SIGCHLD:标识子进程停止或结束的信号
* SIGSTOP:来自键盘(Ctrl-Z)或调试程序的停止执行信号
*/
void my_func(int sign_no)
{
if (sign_no == SIGINT)
printf("I have get SIGINT\n");
else if (sign_no == SIGQUIT)
printf("I have get SIGQUIT\n");
}
int main()
{
printf("Waiting for signal SIGINT OR SIGQUIT\n");
signal(SIGINT, my_func);
signal(SIGQUIT, my_func);
pause();
exit(0);
return 0;
#include <stdio.h>
#include <stdlib.h>
/*
* SIGHUP: 从终端上发出的结束信号
* SIGINT: 来自键盘的中断信号(Ctrl-C)
* SIGQUIT:来自键盘的退出信号(Ctrl-\)
* SIGFPE: 浮点异常信号(例如浮点运算溢出)
* SIGKILL:该信号结束接收信号的进程
* SIGALRM:进程的定时器到期时,发送该信号
* SIGTERM:kill 命令发出的信号
* SIGCHLD:标识子进程停止或结束的信号
* SIGSTOP:来自键盘(Ctrl-Z)或调试程序的停止执行信号
*/
void my_func(int sign_no)
{
if (sign_no == SIGINT)
printf("I have get SIGINT\n");
else if (sign_no == SIGQUIT)
printf("I have get SIGQUIT\n");
}
int main()
{
printf("Waiting for signal SIGINT OR SIGQUIT\n");
signal(SIGINT, my_func);
signal(SIGQUIT, my_func);
pause();
exit(0);
return 0;
}
cc mysignal.c -o mysignal -g
./mysignal
Waiting for signal SIGINT OR SIGQUIT
ctrl+c
I have get SIGINT
Waiting for signal SIGINT OR SIGQUIT
ctrl+\
I have get SIGQUIT
- 简单信号处理
- 简单进程和信号处理
- sigaction函数嵌套处理信号简单介绍
- linux 信号&信号处理
- 信号和信号处理
- linux 信号&信号处理
- linux 信号&信号处理
- 信号及信号处理
- 信号及信号处理
- 信号及信号处理
- 信号、信号集、信号掩码、信号处理
- 信号处理
- 信号处理
- 信号处理
- 信号处理
- 信号处理
- C语言实现简单的守护进程及信号处理
- Linux信号与信号处理
- 这样的情人节还是要彼此快乐
- 记录一下,几个错误:初始值设定元素不是常量
- 深度优先遍历算法的非递归实现
- linux Epoll 学习
- ZOJ 2104 Let the Balloon Rise
- 简单信号处理
- ZOJ 2108 Elevator
- 游戏中小团队创业陷井的面面观
- Android入门(6)程序启动画面
- CRC校验
- 奢望
- C#在任务管理器里隐藏
- mysql MMM 高可用解决方案
- Open source software for ARM SoCs