linux 系统函数学习



    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:也是指向信号集的指针,在此存放原来的信号集。
返回说明:

你可能感兴趣的:(linux 系统函数学习)