1.发送信号kill()raise()
int kill(pid_t pid, int sig);
功能:发送sig这个信号给pid这个进程
参数:@pid 指定要接收信号的进程
@sig 指定发送信号的编号
返回:成功0,失败-1并设置errno
int raise(int sig);
功能:发送sig这个信号给自己
参数:@sig 指定发送信号的编号
返回:成功0,失败非0
2.信号处理函数
typedef void (*sighandler_t)(int); //定义sighandler为函数指针类型,指向形如 void func(int)类型的函数
//按照常规理解,函数指针的类型定义可能误写成:typedef void (*)(int) sighandler_t;
sighandler_t signal(int signum, sighandler_t handler);
功能:预先将signum信号和函数handler进行绑定
参数:@signum 信号的编号
@handler 函数指针 —— 记录信号处理函数的首地址,handler可以选填一些宏:
SIG_DFL :按缺省方式处理
SIG_IGN :按照忽略方式处理
<func> : 用户自定义函数
返回:成功返回信号signum原先绑定函数的入口地址,失败返回SIG_ERR
3.定时alarm()—— 让程序实现定时功能
unsigned int alarm(unsigned int seconds);
功能:定一个时长为seconds秒的闹钟,当定时时间到就发送SIGALRM信号
返回:返回上一个定时剩余的时间,如果之前没有定时返回0
4.暂定函数pause()
int pause(void);
功能:阻塞当前进程,等信号处理函数自动结束