宋宝华: 僵尸进程的成因以及僵尸可以被“杀死”吗?

僵尸不可能被杀死,因为它已经死了,不存在再死一次的问题。死的对立面是活,死者已死。只有活的进程才可能被杀死。

什么是僵尸

首先要明确一点,僵尸进程的含义是:子进程已经死了,但是父进程还没有wait它的一个中间状态,这个时候子进程是一个僵尸。正常情况下子死,父wait,清理掉子进程的task_struct,释放子进程的PID:

640?wx_fmt=png

编译上述程序,运行,我们看到2个a.out进程:

640?wx_fmt=png

杀死子进程4578,看到父进程的打印:

640?wx_fmt=png

之后,4578会消失,因为父进程执行到了wait,也知道了子进程是被信号2杀掉的。

但是如果子进程死了,父进程不执行到wait,比如把上图中的"#if 0"改为"#if 1",杀死子进程后,子进程就会是一个僵尸:

640?wx_fmt=png

我们重新运行,当我们用kill -2杀掉子进程4628后,我们发现4628成为一个僵尸,状态变为Z+,名字上也加了一个棺材[],成为[a.out]:

640?wx_fmt=png

僵尸不可能被杀死

我们看到上面4628是个僵尸很不爽,所以我们想把它干掉,据说Linux有个信号9,神挡杀神,佛挡杀佛,我们现在来用kill -9干掉4628:

640?wx_fmt=png

从上图可以看出,我们把4628用kill -9捅了好多刀,但是最后看4628这个僵尸,还是没有消失。

因为僵尸已经是死了,它不可能再次被杀死,你给它捅一万刀,它也是个死人,不可能再次死!

僵尸不可能被杀死,因为它已经死了!只等父进程来wait清理尸体了。

这个时候我们能够把僵尸消失掉的方法,就是杀死僵尸进程的父进程4627。

一个僵尸可以被杀死的假象

下面的这个程序证明“僵尸可以被杀死”

640?wx_fmt=png

我们在主线程里面,pthread_create()创建线程后,pthread_exit()退出,这个时候我们会发现,在ps命令里面,a.out显示为一个僵尸:

640?wx_fmt=png

这个时候我们来杀死4730这个僵尸:

kill -9 4730

我们会惊奇地发现,4730真地会从ps命令里面消失!

640?wx_fmt=png

我们把时间轴拉回调用"kill -9 4730"之前。刚才我们“看起来”能杀死僵尸的本质原因是,当主线程4730调用pthread_exit()退出后,主线程4730的状态确实是僵尸了,但是该进程里面的4731线程,却没有死:

640?wx_fmt=png

640?wx_fmt=png

看看4731:

640?wx_fmt=png

4731是活着的,证明整个进程并没有挂。所以4730的退出,只是让整个进程半死。而由于ps这些命令的误会,4730凑巧又是整个进程的PID,它显示地好像整个4370成了僵尸一样。

640?wx_fmt=png

那么,根据POSIX标准关于信号(signal)的定义,当我们执行kill -9 4730(4730是4730和4731的TGID,也是整个进程用户态视角的PID)的时候,是要杀死整个4730进程的,所以这个时候4731被我们杀死,整个进程就都死了,这个时候,执行到父进程的wait逻辑,导致僵尸消失。

所以,在本例中,kill -9 4730看起来是"杀死了僵尸”,实际是杀死了4730整个进程(里面的每个线程),导致整个进程死。在次之前,整个进程实际还是活的。

(完)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43466.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

僵尸进程zombie与孤儿进程orphan

代码已上传至https://github.com/gatieme/AderXCoding/tree/master/system/unix/zombie 问题提出 以前在学习《unix环境高级编程》进程时候,提到孤儿进程和僵尸进程,但是一直对这两个概念比较模糊。于是今天做了一些测试程序,并把这些记录下来. 僵尸进程…

僵尸进程以及如何处理僵尸进程

僵尸进程:就是已经结束了的进程,但是没有从进程表中删除。太多了会导致进程表里面条目满了,进而导致系统崩溃,倒是不占用其他系统资源。最后有defunct的标记,就表明是僵尸进程。 今天配置Redis的时候结束停止Redis服务…

僵尸进程的一点玩法

僵尸进程的一点玩法 前言被忽略的RundownProtectionExAcquireRundownProtection 应用总结 前言 这几天在看WRK的时候,偶然间发现的一个东西,逆向之后,发现了个僵尸进程的玩法。目前菜鸡一枚,有说的不准确的地方,请大家…

PAT——1094 谷歌的招聘

2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续…

PTA—7-5 谷歌的招聘

实际上这题是不难的,甚至说有点简单,连我这样的小菜比都可以顺利的AC。 废话不多说来看题目。 2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以…

AI对话AI才是正解?KAUST研究团队提出基于角色扮演的大模型交互代理框架CAMEL

电影《盗梦空间》中有这样一句非常经典的台词: “世上最具有可塑性的寄生虫是什么?是人类的想法。人类大脑中一个简单的想法,就可以建立一座庞大的城市。有时一个想法也可以改变世界,并改写一切规则,这就是我为什么要…

chatGpt的快捷使用

首页的界面,非常好看,有我经常使用的入口 第一步:打开edge浏览器 第二步:右上角的扩展程序 第三步:点击 扩展 第四步: 第五步: 第六步: 第七步: 新打开Tab页&#xf…

windows下通过远程桌面访问linux图形界面

一、安装epel库 epel库安装之前无法使用yum install xrdp命令安装xrdp 命令:yum install epel-release之后会自动匹配对应版本的rpm包,并解决依赖关系进行安装。 二、安装xrdp xrdp作为linux的图形化界面 1.命令:yum install xrdp2.开启…

如何在Mac上快速显示桌面以便快速访问

macOS 环境中充满了可用于执行有用任务的快捷方式和手势。其中之一被简单地命名为“显示桌面”。当您打开一大堆应用程序窗口时,这个方便的功能可以为您节省宝贵的时间。一起来看看如何在Mac上快速显示桌面的方法吧。 1.使用触控板手势 触控板手势可能很难描述&…

大牛证券解析恒指大跌800点+全球股市大跌

今日两市差异化或许是像上一年白马抱团强化相同,而本年白马被丢掉,接力的科技与锂电,而这两个板块特别是(成果爆发工作高成长为特性),锂电有宁德时代,比亚迪、容百科技等,芯片&#…

股票大跌期权对冲

股票期权的出世标示着股票能够及时止损, 股票期权能够很好的与股票做对冲,可以把股票亏损的风险降低,减少投资者面对股票行情下跌产生的亏损。 股票期权的上市让股票多了一种对冲方式,投资者买入股票的时候同时买入一手认沽期权&…

美股历史行情数据之日频率数据

美股历史行情日频率数据 全交易所eod数据,阿里云盘分享全历史行情数据,最早数据记录于1970年。数据字段包含OHLC,除权,股息等全部字段阿里云盘订阅数据,数据每天更新。 全交易所eod数据,阿里云盘分享 交易…

洋姜和生姜的区别

1、科属不同 洋姜和生姜的本质区别就是科属不一类,洋姜是菊科的,而生姜属姜科的,虽然都是多年生草本植物,但是科属不同就代表着这两种食材之间是不一样的了。 洋姜生姜属科不同 2、味道不同 可以通过闻的方式和尝的方式来感受…

洋姜的腌制方法 怎样腌制洋姜好吃

怎样腌制洋姜好吃?提到洋姜很多人都很喜欢吃,洋姜吃法很多,但是最广为人知和受欢迎的就是腌洋姜了,味道佳营养丰富。下面本文来讲解一下洋姜的腌制方法: **洋姜的腌制方法**材料:洋姜、水、花椒、丁香、桂皮、食盐 做…

外汇天眼:外汇走势图的三种图表,看外汇图表这三种就够了

在外汇交易中,一个成功的交易缺少不了分析各种图表,经过多方的比对才可以进行外汇交易,所以会看外汇图表是很有必要的,下面给大家介绍一下三种不同的外汇图表。 折线图 一个简单的折线图所描绘的是连接相邻时段收盘价的形态。当把…

国内版 ChatPDF 来了

最近刚看到的https://www.smartread.cc/,跟chatpdf很像,目前国内还能用,而且比chatpdf好的是全中文页面,司马阅(SmartRead),基于新一代人工智能技术,可快速提取、总结PDF文档信息。 通过聊天互动形式&#…

ChatPDF,PDF操作一键完成!

大家注意:因为微信最近又改了推送机制,经常有小伙伴说错过了之前被删的文章,比如前阵子冒着风险写的爬虫,再比如一些限时福利,错过了就是错过了。 所以建议大家加个星标,就能第一时间收到推送。&#x1f44…

ChatPDF解放双手帮你解读PDF文档

一、先介绍一下吧 chatPDF是一个解读pdf文档的AI模型,然后封装出来的工具。如论文、合同、文书、书籍等,只要是PDF都能搞定,可支持120页【2023.3.9】的文件。据说之前支持200页,反正在变 最新爆火的ChatPDF,短短5天就…

计算机视觉安推商汤科技经典,商汤科技人脸实战应用亮相安博会 推动平安城市建设...

为期4天的2016中国国际社会公共安全产品博览会于10月28日落下帷幕,本届博览会以“推进平安中国、创建智慧城市、服务经济社会、保障民生安全”为主题,短短几天内,吸引了众多海内外观众前来观展。商汤科技本次展出多种人脸实战应用场景&#x…

商汤等提出:统一多目标跟踪框架

https://www.toutiao.com/a6654722067419628046/ 2019-02-06 11:20:22 正文 《Multi-Object Tracking with Multiple Cues and Switcher-Aware Classification》 arXiv:https://arxiv.org/abs/1901.06129 作者团队:商汤&北航&悉尼大学 注&am…