Linux kill -9 和 kill -15 的区别

摘要:
你必须非常熟悉kill-9,并经常在工作中使用它。1) 从帮助中可以清楚地看到,-n是指信号数。问题是,哪个神是“信号号”???2) 杀了这么多人!!让我们今天分别讨论SIGKILL和SIGTERM3。)系统将向相应的程序发送SIGTERM信号。当程序接收到信号时,将发生以下情况:程序将立即停止。程序可以在释放相应的资源之后继续运行。大多数程序会先释放自己的资源,然后在收到SIGTERM信号后停止。换句话说,SIGTERM大多被阻止和忽略。
 
 

“我的天呀!”,网页编辑没有自动保存草稿的功能。害的我昨天写的东西都没有了。算了,不计较这些了。反正也没写多少。

嘻嘻。

大家对kill -9 肯定非常熟悉,在工作中也经常用到。特别是你去重启tomcat时。可是多半看来,我们对-9的理解只是表面而已。

很少有人(包括我)认真的去了解一下 kill -n 这个n到底是什么东东。自我批评一下。

好吧。我们来好好的认识一下这个熟悉的陌生人。

1)kill

Linux kill -9 和 kill -15 的区别第1张

从help中可以清晰的看到 -n 指的是 信号编号,那问题来了,“信号编号”是哪位大神???

2)kill -l(查看Linux/Unix的信号变量)

Linux kill -9 和 kill -15 的区别第2张

这么多呀!! 今天就单独说一下SIGKILLSIGTERM

3)(kill pid) 、( kill -15 pid)

系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该signal后,将会发生以下的事情

  1. 程序立刻停止
  2. 当程序释放相应资源后再停止
  3. 程序可能仍然继续运行

      大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后在停止。但是也有程序可以在接受到信号量后,做一些其他的事情,并且这些事情是可以

      配置的。如果程序正在等待IO,可能就不会立马做出相应。

  也就是说,SIGTERM多半是会被阻塞的、忽略。

4)kill  -9 pid

你不是可以不响应 SIGTERM吗??那好,我给你下一道必杀令,我看你还不乖乖的。多半admin会用这个命令

不过,也不是所有的程序都会乖乖听话,总有那些状态下的程序无法立刻相应。

附录:

linux signals

Signal NameNumberDescription
SIGHUP1Hangup (POSIX)
SIGINT2Terminal interrupt (ANSI)
SIGQUIT3Terminal quit (POSIX)
SIGILL4Illegal instruction (ANSI)
SIGTRAP5Trace trap (POSIX)
SIGIOT6IOT Trap (4.2 BSD)
SIGBUS7BUS error (4.2 BSD)
SIGFPE8Floating point exception (ANSI)
SIGKILL9Kill(can't be caught or ignored) (POSIX)
SIGUSR110User defined signal 1 (POSIX)
SIGSEGV11Invalid memory segment access (ANSI)
SIGUSR212User defined signal 2 (POSIX)
SIGPIPE13Write on a pipe with no reader, Broken pipe (POSIX)
SIGALRM14Alarm clock (POSIX)
SIGTERM15Termination (ANSI)
SIGSTKFLT16Stack fault
SIGCHLD17Child process has stopped or exited, changed (POSIX)
SIGCONT18Continue executing, if stopped (POSIX)
SIGSTOP19Stop executing(can't be caught or ignored) (POSIX)
SIGTSTP20Terminal stop signal (POSIX)
SIGTTIN21Background process trying to read, from TTY (POSIX)
SIGTTOU22Background process trying to write, to TTY (POSIX)
SIGURG23Urgent condition on socket (4.2 BSD)
SIGXCPU24CPU limit exceeded (4.2 BSD)
SIGXFSZ25File size limit exceeded (4.2 BSD)
SIGVTALRM26Virtual alarm clock (4.2 BSD)
SIGPROF27Profiling alarm clock (4.2 BSD)
SIGWINCH28Window size change (4.3 BSD, Sun)
SIGIO29I/O now possible (4.2 BSD)
SIGPWR30Power failure restart (System V)

参考文献

https://major.io/2010/03/18/sigterm-vs-sigkill/
http://blog.csdn.net/ashlingr/article/details/8057825
http://www.comptechdoc.org/os/linux/programming/linux_pgsignals.html

免责声明:文章转载自《Linux kill -9 和 kill -15 的区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SpringBoot 动态修改定时任务频率堆积木----vector防止内存超限下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

.gitignore模板

Github/gitgnore·Github列出了一些有用的。gitnore模板。例如,这是针对visual studio的。将“FallbackLocation”留空,这样VS将生成sdf到临时文件夹。...

微信小程序使用weui构建搜索栏(searchbar)+导航(navbar)

首先需要在lib目录中添加weui.wxss。searchbar和navbar结合主要解决两者的层次问题,即搜索框输入时,下方的检索结果能够覆盖住navbar。下面就开始发码啦:wxml部分:0}}"bindtap="clearInput"˃搜索˂viewclass="weui-search-bar__cancel-btn"hidden="{{!...

Android:在任务列表隐藏最近打开的app

//schemas.android.com/apk/res/android“package=”com.li.test“android:versionName=”1.0“&gt:targetSdkVersion=”23“/&gt:allowBackup=”true“android:icon=”@mipmap/ic_launcher“androi...

Foxyproxy 火狐代理插件

Firefox上的插件Autoproxy一直很难使用。它永远不能更新规则,但foxyproxy可以替代它。用鼠标中键单击foxyproxy图标以在不同的代理方法之间切换。foxyproxy图标从foxhead变为蓝色,因为内容传输发生在网页中,该传输通过默认代理服务器,默认代理的初始颜色为蓝色。...

传奇服务端各文件用途说明

传奇外传服务端├数据库服务器│├联系│├美国联邦储备银行│├日志│├! ID列表。txt(付款帐户列表,在Setup.exe中ServiceMode=TRUE时有效)!服务器信息.txt│├DBServer.exe│└DBSrc.ini├登录门│├登录网关.exe│└配置ini├登录服务器│├Chr日志│├ConLog公司│├计数日志│├国际数据库││├ID...

Nacos开机自启

1.加入玉米片。服务文件vi/lib/systemd/system/nacos.service2.将以下内容写入nacos。服务文件ps:我的nacos路径是/usr/local/nacos[Unit]Description=nacosAfter=network。target[Service]Type=forkingExecStart=/usr/local/...