微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > Linux教程

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

时间:2024-04-26 16:35:52   

大家好,今天Win10系统之家小编给大家分享「Linux中的僵尸进程如何产生的?僵尸进程怎么杀?」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

人体是如何运作的?系列软件最新版本下载

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

  什么是僵尸进程?

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

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

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

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

  僵尸进程如何产生的?

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

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

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

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

  僵尸进程对系统有害吗?

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

  你可以想象成这样:

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

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

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

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

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

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

  僵尸进程怎么杀?

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

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

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

  你可以把它想象成:

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

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

以上就是关于「Linux中的僵尸进程如何产生的?僵尸进程怎么杀?」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

Win10系统之家♀独家使①用!

上一篇:返回列表 下一篇:返回列表

相关文章

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

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


      Linux僵尸进程怎么杀?在Linux中有一些有些程序即使执行完了任务,还是会留在进程中,此为僵尸进程,TA们留下没有任何作用,还会持续消耗硬件资源,虽然该进程是无害的,但一直存储在内存中的也是一个问题。
      什么是僵尸进程?
      我们都知道进程的工作原理。我们启动一个程序,开始我们的任务,然后等任务结束了,我们就停止这个进程。进程停止后,该进程就会从进程表中移除。<...
  • linux系统如何清理和避免僵尸进程?

    linux系统如何清理和避免僵尸进程?


      linux如何清理僵尸进程?一些朋友在维护服务器的时候,发现有5个nova-novncproxy的僵尸进程,面对这些僵尸进程,我们该如何应对呢?其实也不难,下面小编教大家查杀和避免僵尸进程。
    0126327?S0:05\_/usr/bin/python/usr/bin/nova-novncproxy--config-file=/etc/nova/nova.conf024765...
  • Linux如何使用kill命令强制终止进程

    Linux如何使用kill命令强制终止进程


      在Windows系统中,如果应用程序无反应我们会启动任务管理器终止应用,而在Linux系统中则使用kill命令,kill命令主要用于强制关闭进程,下面小编就给大家介绍下Linux中kill命令的用法。
      Kill命令和信号
      当你执行一个“kill”命令,你实际上发送了一个信号给系统,让它去终结不正常的应用。总共有60个你可以使用的信号,但是基本上你只需要知道SI...
  • Linux系统Supervisor如何管理进程

    Linux系统Supervisor如何管理进程


      Linux用户们对超级用户Supervisor肯定不会陌生,我们可以通过Supervisor对电脑上所有的文件卷宗、目录和文件进行管理,今天小编就给大家介绍一个Supervisor进程管理吧。
      功能
      优点
      配置简单
      管理精准
      进程组管理
      RPC扩展
      API支持
      FastCGI进程管理