易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下C语言编程 信号处理函数

前言:这一章我们讨论一下Linux下的信号处理函数. 
     Linux下的信号处理函数: 
1.信号的产生 
2.信号的处理 
3.其它信号函数 
--------------------------------------------------------------------------------
一个实例 
1。信号的产生 
    Linux下的信号可以类比于DOS下的INT或者是Windows下的事件.在有一个信号发生时候相信的信号就会发送给相应的进程.在Linux下的信号有以下几个. 我们使用 kill -l 命令可以得到以下的输出结果: 
 1) SIGHUP  2) SIGINT  3) SIGQUIT  4) SIGILL
 5) SIGTRAP  6) SIGABRT  7) SIGBUS  8) SIGFPE
 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR

于这些信号的详细解释请查看man 7 signal的输出结果. 信号事件的发生有两个来源:一个是硬件的原因(比如我们按下了键盘),一个是软件的原
因(比如我们使用系统函数或者是命令发出信号). 最常用的四个发出信号的系统函数是kill, raise, alarm和setitimer函
数. setitimer函数我们在计时器的使用 那一章再学习. 
#include 
#include 
        #include 
int kill(pid_t pid,int sig);
int raise(int sig);
unisigned int  alarm(unsigned int seconds);
kill系统调用负责向进程发送信号sig.
如果pid是正数,那么向信号sig被发送到进程pid.
如果pid等于0,那么信号sig被发送到所以和pid进程在同一个进程组的进程
如果pid等于-1,那么信号发给所有的进程表中的进程,除了最大的哪个进程号.
如果pid由于-1,和0一样,只是发送进程组是-pid.
我们用最多的是第一个情况.还记得我们在守护进程那一节的例子吗?我们那个时候用这个函


相关文档:

Linux系统新手学习的11点建议

随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者 ......

巧用Recent模块加固Linux安全


众所周知,Linux可以通过编写iptables规则对进出Linux主机的数据包进行过滤等操作,在一定程度上可以提升Linux主机的安全 性,在新版本内核中,新增了recent模块,该模块可以根据源地址、目的地址统计最近一段时间内经过本机的数据包的情况,并根据相应的规则作出相应的决 策,详见:http://snowman.net/projects/ipt_rec ......

C++/C试题

C++/C试题的答案与评分标准(来自于林锐的<<高质量C++编程指南>>),全文请到本博资源中下载.
一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)
 
请写出 BOOL  flag 与“零值”比较的 if 语句。(3分)
标准答案:
    if ( flag )
&nb ......

C面试题

1  #i nclude “filename.h”和#i nclude <filename.h>的区别?
   答:对于#i nclude <filename.h>编译器从标准库开始搜索filename.h
    对于#i nclude “filename.h”编译器从用户工作路径开始搜索filename.h
2  头文件的作用是什么?
答:一 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号