kill相当于赐死,kill -9相当于斩立决

kill命令默认的信号就是15,也就是 kill -15

1.从help中可以清晰的看到 -n 指的是 信号编号

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

3.说一下SIGKILL(kill -9)和SIGTERM(kill -15)

kill -9 PID 是操作系统从内核级别强制杀死一个进程.

kill -15 PID 可以理解为操作系统发送一个通知告诉应用主动关闭.

SIGNTERM(15) 的效果是正常退出进程,退出前可以被阻塞或回调处理。并且它是Linux缺省的程序中断信号。

大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。但是也有程序可以在接受到信号量后,做一些其他的事情,并且这些事情是可以配置的。如果程序正在等待IO,可能就不会立马做出响应。也就是说,SIGTERM多半是会被阻塞的、忽略。

但是kill -9 pid也并不是可以杀死所有的程序,总有那些状态下的程序无法立刻响应。

4.kill -9杀不掉的怎么办(僵尸进程)

4.1 用ps和grep命令寻找僵尸进程

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

命令注解:

  • -A 参数列出所有进程
  • -o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数 因为状态为 z或者Z的进程为僵尸进程。

4.2我们使用grep抓取stat状态为zZ进程,运行结果参考如下:

Z 12334 12339 /path/cmd

4.3使用 kill -HUP 12339来杀掉这个僵尸进程

运行后,可以再次运行

来确认是否已经将僵尸进程杀死 如果kill 子进程无效,可以尝试kill 其父进程来解决问题,例如上面例子父进程pid是 12334,那么我们就运行

4.4 kill -HUP 12334

来解决问题

kill命令详解kill -9、kill -15区别相关推荐

  1. linux kill命令信号,linux kill命令详解

    kill 命令的用途 kill 命令很容易让人产生误解,以为它仅仅就是用来杀死进程的.我们来看一下 man page 对它的解释:kill - send a signal to a process. ...

  2. Linux之kill命令详解

    @Author : Spinach | GHB @Link : http://blog.csdn.net/bocai8058 kill命令详解 概念 语法.选项和参数 例程 kill -9.kill ...

  3. linux kill命令详解

    1.命令格式 kill [参数] [进程号] 2.命令功能: 发送指定的信号到相应进程.不指定型号将发送SIGTERM(15)终止指定进程.如果任无法终止该程序可用"-KILL" ...

  4. linux kill命令信号,Linux kill 命令详解

    Linux kill 命令很容易让人产生误解,以为它仅仅就是用来杀死进程的.我们来看一下 man page 对它的解释:kill - send a signal to a process. 从官方的解 ...

  5. 还有kill -9杀不掉的进程?kill命令详解

    我们很多人对kill -9 非常熟悉,在工作中也经常用到.特别是你去重启服务的时候.但是所有的服务都能用kill -9来处理吗?kill -9能杀掉所有的进程吗? 首先我们来了解一下 kill -n ...

  6. Linux下kill命令详解

    kill命令 作用: 发送指定的信号到相应进程.不指定信号将发送SIGTERM(15)终止指定进程.若仍无法终止该程序可用"-kill" 参数,其发送的信号为SIGKILL(9), ...

  7. linux系统kill进程,Linux kill命令详解:终止进程

    kill 从字面来看,就是用来杀死进程的命令.但是,根据不同的信号,kill 命令可以完成不同的操作. kill 命令格式如下: [root@localhost ~]# kill [信号] PIDki ...

  8. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  9. c linux time微秒_学习linux,看这篇1.5w多字的linux命令详解(6小时讲明白Linux)

    用心分享,共同成长 没有什么比每天进步一点点更重要了 本篇文章主要讲解了一些linux常用命令,主要讲解模式是,命令介绍.命令参数格式.命令参数.命令常用参数示例.由于linux命令较多,我还特意选了 ...

最新文章

  1. 大数据2 Hadoop伪分布模式配置部署
  2. element-ui table点击某行,修改背景颜色(即高亮)
  3. Windows SID理解
  4. Java接口能不能有静态方法_接口可以在Java中使用静态方法吗?
  5. 为什么不应该用Stream forEach替换for循环的3个原因
  6. 参数化的JUnit测试
  7. linux 文件差异备份,Linux使用 tar命令-g参数进行增量+差异备份、还原文件
  8. python安装失败0x80070570_win7系统固态硬盘装系统出现错误代码0x80070570的解决方法...
  9. leetcode397. Integer Replacement
  10. Spring Cloud Zuul 1(API 网关服务)
  11. MADlib——基于SQL的数据挖掘解决方案(24)——分类之决策树
  12. 伊利洛伊大学厄巴纳-香槟分校计算机专业,伊利诺伊大学厄巴纳香槟分校信息管理专业怎么样?...
  13. 两个不同包里有相同的类
  14. WPS尾部空格没有下划线
  15. php中美元符号是什么意思,js程序中美元符号$是什么
  16. Python 中列表与元组的异同
  17. 怎样才能提升广告投放效果?牢记这5点!
  18. 时间复杂度分析-大O表示法
  19. 【个人感悟】如何学习计算机知识
  20. PMP中文报名注意事项

热门文章

  1. 计算机技术水平考核试卷带答案,中小学教师计算机技术水平考核试卷笔试题带答案...
  2. 软件测试流程规范简介(不同公司流程规范不一样,仅供参考)
  3. Spring的学习之路(必看)
  4. 黑客攻防与网络安全-N-0
  5. MN梦奈宝塔主机系统V1.5版本发布
  6. Java_Java多线程_Java线程池核心参数 与 手动创建线程池
  7. 阻挡前进的小兵<隐私政策>
  8. 针对腾讯云服务器 外网不能访问的问题
  9. 动态规划--01背包问题详解
  10. 数据结构 —— 队列、栈、链表的区别