linux应用开发-信号编程
一 信号用于进程间通信
信号定义在/usr/include/asm/signal.h下
常见的信号有:
SIGKILL杀死进程
SIGSTOP暂停进程
SIGCHLD子进程停止或者结束时通知父进程
二 相关的函数
函数名 kill
函数原形 int kill(pid_t pid, int sig)
函数功能 向任何的进程和进程组发送信号
所属头文件
#include <sys/types.h>
#include <signal.h>
返回值
成功返回0
失败返回-1
参数说明
pid = 0 信号被发送到进程组中的每一个进程
pid = -1 信号被发送到每一个有权限发送信号的进程,除了init进程
pid < -1 信号被发送到进程组中pid为-pid的进程
sig指明要发送的信号
处理信号
函数名 signal
函数原形
typedef void (*sighandler_t)(int)
sighandler_t signal(int signal, sighandler_t handler)
函数功能 设置信号的处理方式
所属头文件
#include <signal.h>
返回值
成功返回处理的函数指针
失败返回SIG_ERR
参数说明
signal 要处理的信号
Handler:
SIG_IGN:忽略这个信号,不处理
SIG_DFL:交给内核处理
用户自定义函数处理
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。