系统信号发送函数

本文介绍了Linux系统中的四个关键信号发送函数:kill、raise、abort和pause。kill函数用于向指定进程发送信号,raise函数发送信号给自身,abort函数触发异常终止并创建core文件,而pause函数则使进程暂停,等待信号唤醒。文章通过实例解析了这些函数的使用和返回情况。
摘要由CSDN通过智能技术生成

在Linux系统中有很多种信号的发送函数,比如kill,raise,abort,以及pause等等,在这里把这几种常见的系统柜信号发送函数做一个总结和对比。

kill

kill函数的作用是给指定的进程发送信号,存在于函数库signall.h中

int kill(pid_t pid,int sig);

函数调用成功返回0,失败返回-1并设置errno
函数的两个参数,第一个表示进程号,表示向指定进程发送信号,第二个参数是信号编号。
根绝pid的取值,信号的发送范围不一样,大概可以分为四种

  • pid>0,表示向指定的进程发送信号。
  • pid=0,表示当前进程所属组的所有进程发送信号。
  • pid=-1,表示向除了1号进程和当前进程的所有其他进程发送信号
  • pid<-1,表示给进程pid所属的组发送信号

当然只有root用户才能向任意进程发送信号,一般用户只能向同用户进程或者当前进程组发送信号。
如果返回错误,并且errno为ESRCH表示指定进程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值