1. 信号概念 信号是进程在运行过程中,由自身产生或由进程外部发过来的消息(事件)。信号是硬件中断的软件模拟(软中断)。每个信号用一个整型常量宏表示,以SIG开头,比如SIGCHLD、SIGINT等,它们在系统头文件中定义,也可以通过在shell下键入kill –l查看信号列表,或者键入man 7 ...
分类:
其他好文 时间:
2015-04-23 01:56:43
阅读次数:
183
可靠信号、不可靠性信号的观察综合案例1、 创建子进程和父进程2、 注册SIGINT非实时信号 SIGRTMIN 实时信号 添加到到进程阻塞中3、 注册用户自定义信号SIGUSR14、 子进程发送3次非实时信号,发3次实时信号5、 子进程发送 SIGUSR1解除信号阻塞;6、 观察实时信号和非实时信号...
分类:
其他好文 时间:
2015-04-22 17:59:09
阅读次数:
120
1.信号:在Linux中信号也是最为古老的通信机制2.信号处理流程:(1)选择信号(2)发送信号(3)处理信号3.信号类型:(1)SIGHUP:终端发出的结束信号(2)SIGINT:键盘中断信号(3)SIGKILL:结束接收信号的进程(杀死进程)(4)SIGTERM:kill命令发出的信号(5)SI...
分类:
其他好文 时间:
2015-04-16 21:27:18
阅读次数:
137
中断 中断是系统对于异步事件的响应, 进程执行代码的过程中可以随时被打断,然后去执行异常处理程序; 计算机系统的中断场景:中断源发出中断信号 -> CPU判断中断是否屏蔽屏蔽以及保护现场 -> CPU(查询中断向量表, 找到中断服务程序的入口地址)执行中断处理程序 ->(处理完中断之后) ->恢复现场,继续执行原来的任务 中断分类硬件中断(外部中断) 外部中断是指由外部设备通过硬件请...
分类:
系统相关 时间:
2015-02-18 15:19:45
阅读次数:
230
进程的几种终止方式(1)正常退出 从main函数返回[return] 调用exit 调用_exit/_Exit(2)异常退出 调用abort 产生SIGABOUT信号 由信号终止 Ctrl+C [SIGINT] ...(并不完全, 如return/pthread_exit等)测试[exit/_exit]//尝试查看该程序的打印输出
int main()
{
c...
分类:
系统相关 时间:
2015-02-18 11:53:57
阅读次数:
236
#!/bin/bashsar -n DEV 1 111111111111111 >>1.txt & #实时网卡流量数据 sleep 3 && kill -2 $!#Ctrl +c 停止脚本运行 kill -2 -2就是sigint,一般来说ctrl+c就是发出的siginit
分类:
其他好文 时间:
2015-02-02 21:25:01
阅读次数:
154
可看到Linux支持的信号列表:
$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV ...
分类:
系统相关 时间:
2015-01-29 15:53:59
阅读次数:
314
一,常见的信号的含义SIGHUP (1) (POSIX) [终止]用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联SIGINT (2) (ANSI) [终止]程序终止(interrupt)信号, 在用户键入IN...
分类:
其他好文 时间:
2015-01-18 20:59:34
阅读次数:
192
ev_signal是libev提供的对信号处理的一个模块,基本上是对sigaction函数的一个封装,并将本身是异步的信号转化为同步。ev_signal的使用十分简单:#include #include static void sigint_cb (struct ev_loop *loop,...
分类:
其他好文 时间:
2015-01-12 23:57:01
阅读次数:
504
一般情况下,对于线上的程序,我们是不能采取kill -9 来杀掉进程的因为程序可能有未处理完的程序,如果贸然采取kill -9可能会导致数据不一致如果需要关闭程序怎么办呢,一般情况下我们采取信号技术当我们按ctrl+c时程序会收到SIGINT信号当发送kill pid指令时程序会收到SIGTERM信...
分类:
其他好文 时间:
2015-01-09 20:56:51
阅读次数:
170