您的位置:首页 > 运维架构 > Linux

linux 系统函数学习

2010-10-30 14:16 68 查看
kill
(传送信号给指定的进程)

相关函数

raise,signal

表头文件

#include<sys/types.h>

#include<signal.h>

定义函数

int kill(pid_t pid,int sig);

函数说明

kill()可以用来送参数sig指定的信号给参数pid指定的进程。参数pid有几种情况:

pid>0 将信号传给进程识别码为pid 的进程。

pid=0 将信号传给和目前进程相同进程组的所有进程(需要有发送的权限


pid=-1 将信号广播传送给系统内所有该进程有权限
的进程

pid<0 将信号传给进程组识别码为pid绝对值的所有进程
(需要有发送的权限


参数sig代表的信号编号,这里比较特殊的就是0,如果使用这个,就是为了检测目的进程是否还在运行

返回值

执行成功则返回0,如果有错误则返回-1。

错误代码

EINVAL 参数sig 不合法

ESRCH 参数pid 所指定的进程或进程组不存在

EPERM 权限不够无法传送信号给指定进程
sigprocmask

功能描述:设定对信号屏蔽集内的信号的处理方式(阻塞或不阻塞)。

用法:

#include <signal.h>

int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);

参数:

how:用于指定信号修改的方式,可能选择有三种

SIG_BLOCK //加入信号到进程屏蔽。

SIG_UNBLOCK //从进程屏蔽里将信号删除。

SIG_SETMASK //将set的值设定为新的进程屏蔽。

set:为指向信号集的指针,在此专指新设的信号集,如果仅想读取现在的屏蔽值,可将其置为NULL。

oldset:也是指向信号集的指针,在此存放原来的信号集。

返回说明:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: