码迷,mamicode.com
首页 > 系统相关 > 详细

linux应用开发-信号编程

时间:2015-05-05 21:48:39      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:linux   通信   kill   

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参数指向接收信号的进程
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:交给内核处理
用户自定义函数处理

linux应用开发-信号编程

标签:linux   通信   kill   

原文地址:http://blog.csdn.net/qq_22075977/article/details/45508677

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!