Linux信号SIGTERM、SIGKILL、SIGINT和SIGQUIT的区别;posix_kill使用

SIGTERM是不带参数时kill发送的信号,意思是要进程终止运行,但执行与否还得看进程是否支持。但是SIGKILL信号不同,它可以被捕获和解释(或忽略)的过程。
SIGKILL是发送到处理的信号以使其立即终止。当发送到程序,SIGKILL使其立即终止。在对比SIGTERM和SIGINT,这个信号不能被捕获或忽略,并且在接收过程中不能执行任何清理在接收到该信号。
SIGINT中断信号,终端在用户按下CTRL+C发送到前台进程。默认行为是终止进程,但它可以捕获或忽略。
SIGQUIT是其控制终端发送到进程,当用户请求的过程中执行核心转储的信号。 SIGQUIT通常可以ctrl+/。它可以被捕获和解释(或忽略)。

今天看到一个判断:

<?php
if(extension_loaded('posix'))posix_kill($pid, SIGTERM);
system('kill -9 '.$pid);

posix_kill(进程号,信号常量):表示强制退出

注:当进程号为0时,表示所有进程

 

上面那段代码表示如果有posix扩展,就是用posix_kill退出程序,否则执行kill -9 进程号

https://www.cnblogs.com/dzhs/p/5388092.html  ,这个链接上有很全的信号参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值