SIGKILL和SIGTERM、SIGINT
如果不对信号处理,就会导致程序退出,但如果程序捕获信号进行处理,按照它的逻辑,它是不一定会退出的。
在这三个信号中,sigkill是不能被捕获的,程序收到这个信号后,一定会退出。这就是kill -9一定能保证将程序杀死的原因
1.kill pid、kill -15 pid 、kill -SIGTERM
系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该signal后,将会发生以下的事情
- 程序立刻停止
- 当程序释放相应资源后再停止
- 程序可能仍然继续运行
大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后在停止。但是也有程序可以在接受到信号量后,做一些其他的事情,并且这些事情是可以配置的。如果程序正在等待IO,可能就不会立马做出相应。也就是说,SIGTERM多半是会被阻塞的、忽略。
2.kill -9 pid 、kill -SIGKILL
SIGKILL既不能被应用程序捕获,也不能被阻塞或忽略,其动作是立即结束指定进程
3.killed-SIGINI pid
参考:http://blog.itpub.net/12474069/viewspace-622446/
SIGKILL和SIGTERM、SIGINT相关推荐
- SIGQUIT/SIGTERM/SIGINT/SIGKILL四种信号的区别
SIGQUIT/SIGTERM/SIGINT/SIGKILL四种信号的区别 SIGQUIT: SIGTERM: SIGINT: SIGKILL: SIGQUIT: 在POSIX兼容的平台,SIGQUI ...
- SIGINT、SIGKILL和SIGTERM的区别
首先要知道的是SIGINT.SIGKILL和SIGTERM代表的时一种信号.什么是信号?信号是一个 POSIX 内部通信系统:发送通知给进程,以告知其发生的事件.(windows系统不支持). 这 ...
- SIGTERM SIGINT
SIGHUP 终止进程 终端线路挂断 SIGINT 终止进程 中断进程 SIGQUIT 建立CORE文件终止进程,并且生成core文件 SIGILL 建立COR ...
- sigterm sigint sigkill 区别
我看网上应该有不少搜索这个区别的问题,但是回答的都不全面,其中sigterm与sigint尤其有一点区别比较重要,但大都没有提及,今天我就遇到了这个问题,纠结了20分钟才搞明白咋回事. 首先,对于说这 ...
- OS / Linux / SIGKILL 和 SIGTERM、SIGINT
信号 编号 功能 触发方式 可捕获么? 能被堵塞么? SIGKILL 9 立刻结束程序运行 kill -9 [pid] / kill -SIGKILL [pid] 不能 不能 SIGTERM 15 ...
- SIGINT、SIGKILL、SIGTERM 信号区别
三者都是结束 / 终止进程运行,但略微有区别. 一.SIGINT 产生方式:键盘 Ctrl + C 产生结果:只对当前前台进程和他的所在的进程组的每个进程都发送 SIGINT 信号,之后这些进程会执行 ...
- SIGKILL与SIGTERM的区别
SIGTERM SIGKILL的区别 前者可以被阻塞.处理和忽略,但是后者不可以.KILL命令的默认不带参数发送的信号就是SIGTERM.让程序有好的退出.因为它可以被阻塞,所以有的进程不能被结束时, ...
- php 多进程 常驻内存,PHP 多进程与信号中断实现多任务常驻内存管理 [Master/Worker 模型]...
本文章基于pcntl扩展做的多进程测试. 进程调度策略 父子进程的调度由操作系统来负责,具体先调度子进程还是父进程由系统的调度算法决定,当然可以在父进程加上延时或是调用进程回收函数pcntl_wait ...
- linux shell trap捕捉信号 附信号表 SIGTERM SIGKILL
trap捕捉信号有三种形式 第一种: trap "commands" signal-list 当脚本收到signal-list清单内列出的信号时,trap命令执行双引号中的命令. ...
最新文章
- Android 一个activity 加载一个Fragment
- java之定时器任务Timer用法
- python画图程序有图-python画图程序
- SpringMVC+Mybatis+MySQL配置Redis缓存
- SuperMap webGIS 简易提示框示例
- [bzoj2456]mode
- 性能测试中脚本怎么写_脚本在流程中的性能影响
- oracle ora-16003,ORA-31600错误分析
- APK反编译之APKTOOL的使用
- java虚拟机教程图解_深入拆解JAVA虚拟机学习教程
- 05-Java通过Executors提供四种线程池
- python selenium定位元素方法_[原创] python selenium 元素定位方法封装
- 25.使用getScript()方法异步加载并执行js文件
- 深入浅出Docker(五):基于Fig搭建开发环境
- M1 MacBook Air值不值得买?使用体验分享
- Truecrypt加密软件文件检测
- C++/OpenGL 入门(1):关于VS2017 中OpenGL部分安装过程
- thinkpad重装系统不引导_thinkpad系统重装教程
- Python 操作 Word
- 你同学都身价上亿了,你还在纠结早晨几点能起床