做spark应用时,每提交一个应用就会多出sparksubmit进程

$ jps
3552 SparkSubmit
2164 SparkSubmit
3223 SparkSubmit
5358 Jps

当我们想kill掉这个进程时,

$ kill -9 3552
$ kill -9 2164
$ kill -9 3223

再次用jps查看进程,发现SparkSubmit进程杀不掉

$ jps
3552 SparkSubmit
2164 SparkSubmit
3223 SparkSubmit
5358 Jps

原来是因为SparkSubmit是一个僵死(Zombie)进程,用如下命令查看僵死进程

$ ps aux | grep 'Z'

具体操作如下:

$ ps aux | grep 'Z'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
hadoop    2164  0.5  0.0      0     0 pts/0    Z    09:01   0:24 [java] <defunct>
hadoop    3223  0.3  0.0      0     0 pts/0    Z    09:26   0:11 [java] <defunct>
hadoop    3552  0.6  0.0      0     0 pts/0    Z    09:37   0:16 [java] <defunct>
hadoop    5341  0.0  0.0  14224   968 pts/0    S+   10:19   0:00 grep --color=auto Z$ jps
3552 SparkSubmit
2164 SparkSubmit
3223 SparkSubmit
5358 Jps$ ps aux | grep 'Z'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
hadoop    2164  0.5  0.0      0     0 pts/0    Z    09:01   0:24 [java] <defunct>
hadoop    3223  0.3  0.0      0     0 pts/0    Z    09:26   0:11 [java] <defunct>
hadoop    3552  0.6  0.0      0     0 pts/0    Z    09:37   0:16 [java] <defunct>
hadoop    5370  0.0  0.0  14224   936 pts/0    S+   10:21   0:00 grep --color=auto Z

通过以上查询只有3个僵死进程PID是固定的,就是jps的看到的三个SparkSubmit进程(2164/3553/3223)

那如何kill掉僵死(Zombie)进程呢?

上网查询有的说可以重启Ubuntu,或者等待很长时间后内核将其清除

如果不想重启Ubuntu,又要马上清除僵死(Zombie)进程怎么办呢?

方法是有的:找到僵死进程的父进程,然后kill掉父进程即可

操作如下:

查询僵死2146进程的进程关系,发现2164的父进程是2148
$ pstree -p -s 2164
systemd(1)───sshd(958)───sshd(2109)───sshd(2128)───bash(2131)───python3(2148)───java(2164)kill掉父进程
$ kill -9 2148再次查看僵死进程,没有了2164进程
$ ps aux | grep 'Z'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
hadoop    3223  0.3  0.0      0     0 pts/0    Z    09:26   0:11 [java] <defunct>
hadoop    3552  0.5  0.0      0     0 pts/0    Z    09:37   0:16 [java] <defunct>
hadoop    5450  0.0  0.0  14224   936 pts/0    S+   10:26   0:00 grep --color=auto Z
[1]   Killed                  pyspark  (wd: ~)
(wd now: ~/soft/spark)

再kill掉其他两个僵死进程

$ pstree -p -s 3223
systemd(1)───sshd(958)───sshd(2109)───sshd(2128)───bash(2131)───python3(3207)───java(3223)$ kill -9 3207$ pstree -p -s 3552
systemd(1)───sshd(958)───sshd(2109)───sshd(2128)───bash(2131)───python3(3537)───java(3552)
$ kill -9 3537$ ps aux | grep 'Z'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
hadoop    5522  0.0  0.0  14224  1000 pts/0    S+   10:28   0:00 grep --color=auto Z

参考:https://www.cnblogs.com/gisvito/p/3757317.html

完成!enjoy it!

如何kill掉Ubuntu的僵死进程相关推荐

  1. shel脚本mysql锁表_centos下shell脚本kill掉mysql锁表进程【笔记】

    前几天发现服务器上的mysql出现锁表了,show processlist后发现好多都是因为写进session才锁表的,看到这个想起了会不会是硬盘空间不够了,马上查看了服务器硬盘空间,发现都100%了 ...

  2. Android 保持Service不被Kill掉的方法--双Service守护 Android实现双进程守护

    本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ↳Android.content.Context  ↳an ...

  3. android进程守护 失效,保持Service不被Kill掉的方法--双Service守护 Android实现双进程守护 1...

    本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ?Android.content.Context ?and ...

  4. linux kill进程 名字,linux kill 掉所有匹配到名字的进程

    如,要 kill 掉 swoole 相关的进程 ps aux | grep swoole |  awk '{print $2}' | xargs kill -9 ps 列出所有进程, 参数: a -  ...

  5. 为什么我的进程被kill掉了

    先来看段代码: 这段代码非常简单,就是先用mmap的方式,为该进程分配10GiB的虚拟内存,然后再用page写的方式,让操作系统为这10GiB虚拟内存,分配对应的物理内存,最后sleep,等待我们测试 ...

  6. 怎样kill掉TCP连接状态是TIME_WAIT的而且找不到PID

    netstat -apn 看到这几个端口被占,想kill掉占用端口的进程,发现pid那列是"-",怎么搞? 可以执行: lsof -n -i@127.0.0.1|grep 2701 ...

  7. oracle死锁进程杀不掉,oracle杀死死锁进程

    先查看哪些表被锁住了 selectb.owner,b.object_name,a.session_id,a.locked_mode fromv$locked_objecta,dba_objectsb ...

  8. 处理MTK中DuraSpeed(快霸)引起的app被莫名其妙kill掉

    一.问题描述 之前在MTK源码中,添加了的自定义的launcher后,发现其经常会被莫名其妙kill掉,根据错误日志找到如下描述: DuraSpeed: Add com.my.test to the ...

  9. ubuntu服务器常见使用技巧及-kill掉后GPU显存不释放进程-

    如何解决python进程被kill掉后GPU显存不释放的问题 1 重新开一个shell,然后输入: ps aux|grep user_name|grep python.所有该用户下的python程序就 ...

最新文章

  1. 【quickhybrid】组件(自定义)API的实现
  2. 个人网站架构设计(一)
  3. Day2 : iOS第三方框架MBProgressHUD学习笔记
  4. Flutter - 弹出底部菜单Show Modal Bottom Sheet
  5. 解决pathForResource返回nil / 无法读取plist文件问题
  6. 取值方法_「EV3进阶课」制作小游戏:数据取值体系要统一(三)
  7. 系统架构师学习笔记-多媒体基础知识
  8. Androidstudio抽取成员变量快捷键 快捷键大全 自定义setting文件
  9. spring创建定时任务
  10. 如何提升Wi-Fi速度 学会更改无线信道
  11. 使用python解析pdf文档中的单词导入到有道云词典中
  12. AdventureWorks2008R2安装过程可能会遇到的一些问题及解决方案
  13. 用一个简单的函数来理一下RPC调用过程
  14. 世界名牌大学课件下载地址
  15. android 电视 vob格式转换,Android手机、Android智能电视、Android平板电脑视频和音频转换器---佳佳安卓视频格式转换器...
  16. 黑苹果安装各种问题解决办法
  17. 抗光幕布为什么深受家庭用户青睐?
  18. git查看状态和修改信息
  19. 要成为游戏开发人员需要有以下书籍(二)
  20. U8 业务单据编码 相关表

热门文章

  1. 源码交易网站高仿站源网
  2. 详解FLETA的Proof-of-Formulation共识算法
  3. python双星号什么运算_Python的星号(*)和双星号(**)用法
  4. html 左边固定右边自动,css经典布局之左侧固定大小右侧自动适应
  5. Python+Django+Channels之Consumers(用户)
  6. eclipse 插件安装 摘要
  7. 数据科学库之——matplotlib
  8. 使用C4D灵动诠释宇舶表限量版陀飞轮全蓝宝石腕表的冰肌玉骨
  9. project 2003
  10. linux软件实现看门狗,一个软件实现的Linux看门狗—soft_wdt