小编分享Linux中的僵尸进程如何产生的

Linux僵尸进程怎么杀?在Linux中有一些有些程序即使执行完了任务,还是会留在进程中,此为僵尸进程,TA们留下没有任何作用,还会持续消耗硬件资源,虽然该进程是无害的,但一直存储在内存中的也是一个问题。

Linux中的僵尸进程如何产生的?僵尸进程怎么杀?

什么是僵尸进程?

我们都知道进程的工作原理。我们启动一个程序,开始我们的任务,然后等任务结束了,我们就停止这个进程。 进程停止后, 该进程就会从进程表中移除。

你可以通过 System-Monitor 查看当前进程。

Linux中的僵尸进程如何产生的?僵尸进程怎么杀?

但是,有时候有些程序即使执行完了也依然留在进程表中。

那么,这些完成了生命周期但却依然留在进程表中的进程,我们称之为 “僵尸进程”。

僵尸进程如何产生的?

当你运行一个程序时,它会产生一个父进程以及很多子进程。 所有这些子进程都会消耗内核分配给它们的内存和 CPU 资源。

这些子进程完成执行后会发送一个 Exit 信号然后死掉。这个 Exit 信号需要被父进程所读取。父进程需要随后调用 wait 命令来读取子进程的退出状态,并将子进程从进程表中移除。

若父进程正确第读取了子进程的 Exit 信号,则子进程会从进程表中删掉。

但若父进程未能读取到子进程的 Exit 信号,则这个子进程虽然完成执行处于死亡的状态,但也不会从进程表中删掉。

僵尸进程对系统有害吗?

不会。由于僵尸进程并不做任何事情, 不会使用任何资源也不会影响其它进程, 因此存在僵尸进程也没什么坏处。 不过由于进程表中的退出状态以及其它一些进程信息也是存储在内存中的,因此存在太多僵尸进程有时也会是一些问题。

你可以想象成这样:

“你是一家建筑公司的老板。你每天根据工人们的工作量来支付工资。 有一个工人每天来到施工现场,就坐在那里, 你不用付钱, 他也不做任何工作。 他只是每天都来然后呆坐在那,仅此而已!”

这个工人就是僵尸进程的一个活生生的例子。但是, 如果你有很多僵尸工人, 你的建设工地就会很拥堵从而让那些正常的工人难以工作。

那么如何找出僵尸进程呢?

打开终端并输入下面命令:

01ps aux | grep Z复制代码ps aux | grep Z

会列出进程表中所有僵尸进程的详细内容。

僵尸进程怎么杀?

正常情况下我们可以用 SIGKILL 信号来杀死进程,但是僵尸进程已经死了, 你不能杀死已经死掉的东西。 因此你需要输入的命令应该是

01kill -s SIGCHLD pid复制代码kill -s SIGCHLD pid

将这里的 pid 替换成父进程的进程 id,这样父进程就会删除所有以及完成并死掉的子进程了。

你可以把它想象成:

“你在道路中间发现一辆废弃的汽车,于是你联系了拖车,之后拖车就会将这辆废弃的汽车带离道路。”

以上内容便是关于僵尸进程的一些描述和结束,如果程序本身编写的不是很好,是无法删掉这些子进程的(否则你一开始也见不到这些僵尸了)。 因此想要快速删除子进程,只有结束TA们的父进程即可。

本文来自网络投稿,来自作者春天。不代表酷牛教程立场,如若转载,请注明出处:https://www.xukn.com/376948.html

(0)
春天春天
上一篇 2023-06-20 17:46
下一篇 2023-06-20 17:46

相关推荐

  • 我来分享audiodg.exe是什么进程。

      audiodg.exe是什么进程?很多Win10用户反馈,打开任务管理器有一个名为“audiodg.exe”的进程占用了大量的CPU,不知道该怎么办?其...

    2023-06-17
    0160
  • 我来分享SearchFilterHost.exe是什么进程

    SearchFilterHost.exe是什么进程?SearchFilterHost.exe如何关闭?最近有用户在操作Win7系统的过程中,发现任务管理有三个进程特别占用内存,这三...

    2023-06-19 PC教程
    0190
  • 小编分享Win10系统下baidunetdisk进程占用磁盘100%怎么解决

    Win10系统下baidunetdisk进程占用磁盘100%怎么解决?最近一位用户在操作Win10系统的过程中,发现系统的运行速度很慢,结果打开任务管理器发现,baidunetdi...

    2023-06-19 PC教程
    0200
  • 我来分享lexpps.exe是什么进程

    单单看lexpps.exe进程很多小伙伴可能不熟悉,但是一说到电脑关机前的提示,想必不少人曾经都遇到过每次电脑关机都会提示lexpps.exe程序错误。遇到这种情况我们该怎么办?今...

    2023-07-12
    0190
  • 分享rthdcpl.exe是什么进程。

    在我们使用的电脑中,拥有无数的进程,每个进程都支持对应的系统服务,如果一项进程出错或者缺失了,将导致对应服务无法正常运行。rthdcpl.exe也是电脑系统中一项重要的进程,有些用...

    2023-06-15
    0190
  • 分享WinXP系统如何关闭Softmanager进程。

    最近有WinXP系统用户反映,在任务管理器里面发现一个陌生的进程softmanager.exe,它占用的内存很高,用户想要关闭它,又不知道它是什么,关闭它又会不会有什么影响,用户为...

    2023-06-16 PC教程
    0180
  • 我来教你WinXP系统中iexplore.exe是什么进程。

    我们在使用WinXP过程中,当我们打开任务管理器,想查看一下任务进程的时候,会发现有一个进程在运行,那就是iexplore.exe进程。那iexplore.exe到底是什么进程呢?...

    2023-06-13 PC教程
    0180
  • 分享Win7怎么提高玩植物大战僵尸原版的性能

    近日有不少小伙伴前来咨询有关如何将win7提高游戏性能的问题,想要提高植物大战僵尸原版的体验感。你们知道如何操作吗?想必很多玩家自己也都不知道的,但是不会也没关系,下面小白就今天和...

    2023-07-14
    0140
  • 我来分享Dctser.exe是什么进程

    Dctser.exe是什么进程?Dctser.exe进程可以关闭吗?最近一位用户在操作WinXP系统的过程中,发现任务管理器多了一个Dctser.exe进程,那么这个Dctser....

    2023-06-19 PC教程
    0250
  • 我来分享进程太多了怎么优化

    我们打开电脑的时候,进程的数目还没有很多,随着我们使用电脑的时间增长,打开的软件越来越多,还没有关闭,进程就越来越多,急切需要优化了,以免影响电脑的运行。有小伙伴问小编进程该怎么优...

    2023-07-12
    0150
  • 小编教你Win7提示登陆进程初始化失败怎么办

    每天来公司第一件事就是打开电脑,不过打开电脑的时候我们总是出现一些问题,其中最常见就是提示登陆进程初始化失败,那么当你也遇到Win7提示登陆进程初始化失败怎么办?不知道的朋友赶紧看...

    2023-06-20 PC教程
    0170
  • 教你brs.exe是什么进程

    brs.exe是什么进程?brs.exe进程怎么打开?可能有些伙伴在使用Windows系统的过程中,会碰到brs.exe进程,其实brs.exe是cyberlink软件生成的进程,...

    2023-06-19
    0150
  • 我来分享CPU进程100%怎么解决

    我们在使用电脑的过程中,经常会遇到各种的问题,最近有用户反映自己电脑明明没有运行很多程序,但CPU占用率却很高,cpu进程100%,那么cpu进程100%怎么办呢?下面和小编一起来...

    2023-07-13 PC教程
    0180
  • 分享进程和线程的区别是什么

    进程和线程的区别是什么?有什么关系?相信大家对于进程都很熟悉了吧,而线程相对于进程而言,是一个更加接近于执行体的概念,为了让大家更好的了解进程和线程,下面给大家介绍进程和线程的区别...

    2023-06-18
    0180
  • 我来分享Win7系统怎么合并IE浏览器进程避免资源占用过多

    在使用IE浏览器的时候,有没有发现每次打开IE浏览器,任务管理器进程里面就会出现一个iexplorer.exe进程,且随着打开的网页越来越多,后台进程里面IE占用的资源也就越多,慢...

    2023-07-13
    0240

发表回复

登录后才能评论