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可以通过编写iptables规则对进出Linux主机的数据包进行过滤等操作,在一定程度上可以提升Linux主机的安全 性,在新版本内核中,新增了recent模块,该模块可以根据源地址、目的地址统计最近一段时间内经过本机的数据包的情况,并根据相应的规则作出相应的决 策,详见:http://snowman.net/projects/ipt_rec ......
时间服务器官网:
http://www.pool.ntp.org/zone/cn
ntpdate 命令
用途
使用网络计时协议(NTP)设置日期和时间。此命令仅应用于 AIX 4.2 或后期版本。
语法
ntpdate
[ -b
] [ -d
] [
-s
] [ -u
] [ -a
Keyid
] [ -e
A ......
import sun.misc.Signal;
import sun.misc.SignalHandler;
/***
* java信号处理demo
* @author jiang_qh
*
*/
public class SignalHandlerExample implements SignalHandler{
private SignalHandler oldHandler;
public void handle(Signal signal) {
System.out.println("Signal handler called for signal " ......
1 #i nclude “filename.h”和#i nclude <filename.h>的区别?
答:对于#i nclude <filename.h>编译器从标准库开始搜索filename.h
对于#i nclude “filename.h”编译器从用户工作路径开始搜索filename.h
2 头文件的作用是什么?
答:一 ......