日期:2014-05-16 浏览次数:20838 次
创建几种信号:
SIGHUP: 从终端上发出的结束信号
SIGINT:来自键盘的中断信号(Ctrl-C)
SIGQUIT:来自键盘的退出信号(Ctrl-\)
SIGKILL:该信号结束接收信号的进程
SIGTERM: kill命令发出的信号
SIGCHLD:标识子进程停止或结束的信号
SIGSTOP:来自键盘(Ctrl-Z)或调试程序的停止执行信号
信号处理:
一、忽略此信号;(但SIGKILL和SIGSTOP信号不可被忽略)
二、执行用户希望的动作;(调用一个用户函数,执行用户希望的处理)
三、执行系统默认动作;(对大多数信号的系统默认动作是终止进程)
信号发送:(主要函数有kill和raise)
区别:
kill既可以向自身发送信号,也可以向其他进程发送信号,raise是向进程自身发送信号。
intkill(pid_t pid, int signo)
intraise(int signo)
alarm方式发送:
使用alarm函数可以设置一个时间值,当所设置的时间到了时,产生SIGALRM信号。如果不捕捉此信号,则默认动作是终止此进程。
unsigned int alarm(unsigned int seconds)
seconds:经过了指定的