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

嘻嘻。

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

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

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

1)kill

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

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

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

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

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

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

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

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

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

4)kill  -9 pid

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

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

附录:

linux signals

Signal Name Number Description
SIGHUP 1 Hangup (POSIX)
SIGINT 2 Terminal interrupt (ANSI)
SIGQUIT 3 Terminal quit (POSIX)
SIGILL 4 Illegal instruction (ANSI)
SIGTRAP 5 Trace trap (POSIX)
SIGIOT 6 IOT Trap (4.2 BSD)
SIGBUS 7 BUS error (4.2 BSD)
SIGFPE 8 Floating point exception (ANSI)
SIGKILL 9 Kill(can't be caught or ignored) (POSIX)
SIGUSR1 10 User defined signal 1 (POSIX)
SIGSEGV 11 Invalid memory segment access (ANSI)
SIGUSR2 12 User defined signal 2 (POSIX)
SIGPIPE 13 Write on a pipe with no reader, Broken pipe (POSIX)
SIGALRM 14 Alarm clock (POSIX)
SIGTERM 15 Termination (ANSI)
SIGSTKFLT 16 Stack fault
SIGCHLD 17 Child process has stopped or exited, changed (POSIX)
SIGCONT 18 Continue executing, if stopped (POSIX)
SIGSTOP 19 Stop executing(can't be caught or ignored) (POSIX)
SIGTSTP 20 Terminal stop signal (POSIX)
SIGTTIN 21 Background process trying to read, from TTY (POSIX)
SIGTTOU 22 Background process trying to write, to TTY (POSIX)
SIGURG 23 Urgent condition on socket (4.2 BSD)
SIGXCPU 24 CPU limit exceeded (4.2 BSD)
SIGXFSZ 25 File size limit exceeded (4.2 BSD)
SIGVTALRM 26 Virtual alarm clock (4.2 BSD)
SIGPROF 27 Profiling alarm clock (4.2 BSD)
SIGWINCH 28 Window size change (4.3 BSD, Sun)
SIGIO 29 I/O now possible (4.2 BSD)
SIGPWR 30 Power 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 的区别的更多相关文章

  1. Linux终止进程的工具kill/killall/pkill/xkill/skill用法区别(转)

    一. 终止进程的工具kill .killall.pkill.xkill 终止一个进程或终止一个正在运行的程序,一般是通过kill .killall.pkill.xkill等进行.比如一个程序已经死掉, ...

  2. kill -9 ,kill -12,kill -15

    https://www.cnblogs.com/liuhouhou/p/5400540.html Linux kill -9 和 kill -15 的区别 大家对kill -9 肯定非常熟悉,在工作中 ...

  3. Linux命令之-ps & kill

    1.ps:将某个进程显示出来: 常用命令 :ps -ef |grep Java 1)如下为加不加-e参数的区别 2.一般我们查找某个进程的目的就是把它杀掉,使用kill 命令. kill -9 564 ...

  4. linux ps查进程 kill关闭进程

    原文链接:http://blog.sina.com.cn/s/blog_53855ace0100ded4.html 首先,我们需要使用linux下另外一个ps命令查找与进程相关的PID号:ps aux ...

  5. Linux 常用命令十三 kill

    一.kill命令 kill命令用来删除执行中的程序或工作.kill可将指定的信息送至程序.预设的信息为SIGTERM(15),可将指定程序终止.若仍无法终止该程序,可使用SIGKILL(9)信息尝试强 ...

  6. “kill -9” 和 “kill -15” 有什么不同

    来看下图,其中关键参数 -n signum 表示的是信号编码.   kill   kill 可以用 kill -l 来查看具体有哪些信号编码,这里重点关注 9) SIGKILL 和 15) SIGTE ...

  7. Linux命令——killall 、kill 、pkill、xkill

    参考:killall .kill .pkill 命令详解 Using kill, killall, and pkill 4 Ways to Kill a Process – kill, killall ...

  8. Linux中yum和apt-get用法及区别

    Linux中yum和apt-get用法及区别   一般来说著名的linux系统基本上分两大类:   1.RedHat系列:Redhat.Centos.Fedora等   2.Debian系列:Debi ...

  9. kill -9 和kill

    kill pid 在kill进程的同时,会将包删掉该进程所在webapps目录下的文件夹,如iexpense文件夹 kill -9 pid 会强制删掉进程,但是不是删掉该进程所在webapps目录下的 ...

  10. 进程内核栈、用户栈及 Linux 进程栈和线程栈的区别

    Linux 进程栈和线程栈的区别 http://www.cnblogs.com/luosongchao/p/3680312.html 总结:线程栈的空间开辟在所属进程的堆区,线程与其所属的进程共享进程 ...

随机推荐

  1. 2016-3-25突然推送大量消息的问题及查找 -- Sangit

    起因:2016年3月25日 18:30 左右,突然接到客户投诉,说APP收到大量的任务推送消息,而且点击进去都是一些过期任务,我们将对此展开追踪,查找问题原因. 过程: 1.当时的第一反应是先查看re ...

  2. ColorNote[动态][log]

    Windows 应用商店上传日志 [ColorNote In Windows APP Store Log]: ColorNote v1.0 2012/12/2 ColorNote v1.1 2012/ ...

  3. JavaScript——以简单的方式理解闭包

    闭包,在一开始接触JavaScript的时候就听说过.首先明确一点,它理解起来确实不复杂,而且它也非常好用.那我们去理解闭包之前,要有什么基础呢?我个人认为最重要的便是作用域(lexical scop ...

  4. Java设计模式系列之责任链模式

    责任链模式 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链.请求在这个链上传递,直到链上的某一个对象决定处理此请求.发出这个请求的客户端并不知道 ...

  5. 现在,UICollectionViews有了简单的重排功能

    原文:UICollectionViews Now Have Easy Reordering 我是UICollectionView的忠实粉丝.这个类比起它的老哥UITableView类具有更高的可定制性 ...

  6. [iOS 多线程 & 网络 - 2.9] - ASI框架

    A.ASI基本知识 1.ASI简单介绍 ASI:全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大. ASI的实现基于底层的CFNetwork框架,因此运行效率很高. ASI的g ...

  7. App启动加载广告页面思路

    需求 很多app(如淘宝.美团等)在启动图加载完毕后,还会显示几秒的广告,一般都有个跳过按钮可以跳过这个广告,有的app在点击广告页之后还会进入一个广告页面,点击返回进入首页.今天我们就来开发一个广告 ...

  8. Codeforces Beta Round #7 C. Line (扩展欧几里德)

    题目链接:http://codeforces.com/problemset/problem/7/C 给你一个直线方程,有整数解输出答案,否则输出-1. 扩欧模版题.这里有讲解:http://www.c ...

  9. Http通讯协议在.net下的实现方法

    1.HttpwebRequest and  HttpWebResponse 2.客户端访问服务端的API:HttpClient 3. .net下的Remoting 4.Web Services 5.W ...

  10. .Net 代码安全保护产品DNGuard HVM使用

    前辈人物写的程序啊! 官方网站:http://www.dnguard.net/index.aspx 官方博客:http://www.cnblogs.com/rick/ (很久没更新了) 原文http: ...