signal函数
void (* signal(int signo,void (*func)(int)) )(int)
函数描述:设置信号signo的处理函数func并返回旧的信号处理函数
可将func设为常量:
SIG_ERR:
SIG_IGN:向内核表示忽略此信号
SIG_DEL:信号发生时执行系统默认动作
kill和raise函数
#include<signal.h>
int kill( pid_t pid, int signo);向进程或进程组发送信号
int raise( int signo );向进程自身发送信号
raise(signo)等价于 kill(getpid(),signo)
pid参数:
pid>0:将信号发给进程pid
pid == 0:发给与发送进程属于同一进程组的所有进程
pid<0:将信号发送给进程组为pid绝对值的进程
pid==-1:向系统所有进程发送信号
均需满足具有向进程发送信号的权限
alarm 和 pause函数
#include<unistd.h>
unsigned int alarm ( unsigned int seconds );
在seconds秒之后产生SIGALRM信号
如果之前存在一个alarm并且存在余留值,则此余留值将作为本次掉用的返回值
#include<unistd.h>
int pause(void);
使调用进程挂起直至捕捉到一个信号
当执行了一个信号处理程序并从其返回时,pause才返回.返回-1,并将errno设置为EINTR