什么是僵尸进程(Linux里面什么是僵尸进程)

2025-03-31 00:10:02 0

什么是僵尸进程(Linux里面什么是僵尸进程)

本文目录

Linux里面什么是僵尸进程

一个已经终止,但是其父进程尚未对其进行善后处理(获取终止子进程的有关信息、释放它仍占用的资源)的进程被称为僵死进程(Zombie Process)。

相关处理办法:

在Linux中可以用  ps auwx  发现僵尸进程

a all w/ tty,including other users 所有窗口和终端,包括其他用户的进程

u user-oriented 面向用户(用户友好)

-w,w wide output 宽格式输出

x processes w/o controlling ttys  在僵尸进程后面 会标注

ps axf  看进程树,以树形方式现实进程列表

ps axm  会把线程列出来,在linux下进程和线程是统一的,是轻量级进程的两种方式。

ps axu  显示进程的详细状态

===========================================

killall  kill -15  kill -9  一般都不能杀掉 defunct进程

用了kill -15,kill -9以后 之后反而会多出更多的僵尸进程

kill -kill pid  fuser -k pid  可以考虑杀死他的parent process,

kill -9 他的parent process

参见:网页链接

僵尸进程是如何产生的

一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。在Linux进程的状态中,僵尸进程  是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退  出状态等信息供其他进程收集,除此之外,僵尸进程不再占有任何内存空间。它需要它的父进程来为它收尸,如果他的父进程没安装SIGCHLD信  号处理函数调用wait或waitpid()等待子进程结束,又没有显式忽略该信号,那么它就一直保持僵尸状态,如果这时父进程结束了,那么init进程自动  会接手这个子进程,为它收尸,它还是能被清除的。但是如果如果父进程是一个循环,不会结束,那么子进程就会一直保持僵尸状态,这就是为什么系统中有时会有很多的僵尸进程。  Linux系统对运行的进程数量有限制,如果产生过多的僵尸进程占用了可用的进程号,将会导致新的进程无法生成。这就是僵尸进程对系统的最大危害。

2. 在Linux中进程有哪几种状态,每种状态代表的含义是什么

Linux内核中定义了以下几种状态:#define TASK_RUNNING 0#define TASK_INTERRUPTIBLE 1#define TASK_UNINTERRUPTIBLE 2#define TASK_ZOMBIE 4#define TASK_STOPPED 8其中:TASK_RUNNING是就绪态,进程当前只等待CPU资源。TASK_INTERRUPTIBLE和TASK_UNINTERRUPTIBLE都是阻塞态,进程当前正在等待除CPU外的其他系统资源;前者可以被信号唤醒,后者不可以。TASK_ZOMBIE是僵尸态,进程已经结束运行,但是进程控制块尚未注销。TASK_STOPPED是挂起状态,主要用于调试目的。进程接收到SIGSTOP信号后会进入该状态,在接收到SIGCONT后又会恢复运行。

进程和线程的区别是什么什么叫僵尸进程

进程(在很多操作系统中也称为任务)是操作系统中的一个十分重要的概念。什么是进程呢?所谓进程是指程序的一次执行过程,在Windows95中,就是一个EXE文件的执行过程。但是应该注意,进程和程序是两个不同的概念,不能等同。程序是一组指令的有序集合,是静态的;进程则是指一组指令序列在处理机上的一次执行过程,是动态的。严格地说,进程是程序在一个数据集合上的运行过程,它具有动态、并行、独立、异步等特性;一个进程由“创建”而产生、由调度而进入执行、在资源不能满足时被“挂起”、由“撤销”而消亡,因此,进程是有生命的。当然,一个进程将唯一地对应于一个EXE文件。程序和进程的关系还可以打个比方,如果把程序看作一支曲谱,进程可以理解为对这支曲谱的演奏过程。当然,这个比方并不准确,但可以帮助理解程序和进程之间的关系。 在Windows95中还采用了线程的概念,所谓线程是指由进程进一步派生出来的一组代码(指令组)的执行过程。一个进程可以产生多个线程,这些线程都共享该进程的地址空间,它们可以并行、异步地执行。采用线程最主要的好处是:使同一个程序能有几个并行执行的路径,提高了执行速度;线程需要的系统开销比进程要小。应该说明的是,在Windows95中,“多任务”是基于线程而不是基于进程。 多任务执行是指在同一台计算机系统的同一时刻运行多个程序。由于允许活动任务和后台任务同时运行,所以可以做到有一个任务在后台执行时,前台又能干另一件事。比如说,我们可以一边用图文处理程序一个文件,一边让打印程序完成打印工作。这就极大地提高了工作效率,因为大多数用户都确实需要同时对几个不同的应用程序进行工作。 在Windows 3.X中,多个应用程序同时运行是采取一种所谓的“协作式”方式,称为“协作式多任务”。“协作”这个用语意味着多个应用程序之间必须相互协调,依次实现对操作系统的控制。它们并不是真正的多任务执行,因为其中还有多任务共享系统资源的问题。为了让操作系统把控制权从一个程序转换到另一个程序,当前活动的程序就必须周期地检查一个消息队列。如果某个程序不能经常检查消息队列,操作系统就不能实现控制权的转移。 在Windows 95中采用了一种所谓带优先权的多任务方式来运行基于Win32(Windows的32位)应用程序,称为“抢先式多任务”。在这种方式下,操作系统可以在需要时中断当前的任务,再按照任务队列中各个任务的优先级别来进行任务的调度。为兼容起见,基于Win16(Windows的16位)应用程序仍采用协作式方式完成多任务执行。在Windows 3.X的协作式多任务环境中,必须在Windows 3.X“控制面板”中386增强模式实用程序的一个对话框中才能设置任务的优先级。而Windows 95则在缺省情况下就是完全带优先级的,所以不需要手工对优先级加以设置,这个任务由Windows 95在后台透明地加以完成。 Windows 95抢先式多任务执行实际上就是抢先式多线程执行。为了抢先式多线程执行实现,每个线程有一个优先级值,范围是从0到31。优先级0最低,保留给系统使用。优先级1到31分成四类:空闲(1-6),正常(5-11),高(11-15)和实时(16-31)。正常分类又进一步分成二级:后台(5-9)和前台(6-11)。注意这些范围是有重叠的。这样做可使调度更灵活,例如,允许某些后台任务比某些前台任务更重要,尽管在通常情况下,前台任务的优先级应该更高。使用实时优先级时要非常当心。如果你把一个任务的优先级设得太高,也可能无法实现多任务执行功能。这是因为一个任务的优先级太高了,它就完全不允许系统中有其他任务运行。 VMM(虚拟机管理程序)负责在分时抢先的环境里调度各个进程和线程,具体包括以下服务:生成线程、管理线程、撤消线程和线程调度。 VMM中有两个调度程序:主调度程序和时间片调度程序。主调度程序负责确定最高优先级的线程。只有最高优先级的线程才会运行,其他优先级较低的都被封锁;时间片调度程序负责为所有具有最高优先级的可运行任务分配时间片。 系统运行过程中,线程的优先级可由系统或设备驱动程序(或两者)改变。例如,一旦中断产生,则处理这个中断的线程优先级临时提高,以便它立即得到时间来处理该中断。完成后,优先级可以再降低。 在抢先式多任务中,基于Win32的应用程序不必让位给其它程序就能以友好的方式实现多任务。操作系统会根据系统的需要把控制权交给某个运行中的任务,或从某个运行中的任务移走控制权。这才是真正的多任务操作系统。 僵尸进程消耗线程

为什么busybox中的crond是僵尸进程

吹侥承┙?痰淖刺?肝猟efunct,这就是所谓的僵尸进程。僵尸进程是一个早已死亡的进程,但在进程表(processstable)中仍占了一个位置(slot)。由于进程表的容量是有限的,所以,defunct进程不仅占用系统的内存资源,影响系统的性能,而且如果其数目太多,还会导致系统瘫痪。我们知道,每个Unix进程在进程表里都有一个进入点(entry),核心程序执行该进程时使用到的一切信息都存储在进入点。当用ps命令察看系统中的进程信息时,看到的就是进程表中的相关数据。当以fork()系统调用建立一个新的进程后,核心进程就会在进程表中给这个新进程分配一个进入点,然后将相关信息存储在该进入点所对应的进程表内。这些信息中有一项是其父进程的识别码。当这个进程走完了自己的生命周期后,它会执行exit()系统调用,此时原来进程表中的数据会被该进程的退出码(exitcode)、执行时所用的CPU时间等数据所取代,这些数据会一直保留到系统将它传递给它的父进程为止。由此可见,defunct进程的出现时间是在子进程终止后,但是父进程尚未读取这些数据之前。defunct进程是不能直接kill-9杀掉的,否则就不叫僵尸进程了。知道了defunct进程产生的原因,就可以轻易的kill掉defunct进程。方法有二:1,重启服务器电脑,这个是最简单,最易用的方法,但是如果你服务器电脑上运行有其他的程序,那么这个方法,代价很大。所以,尽量使用下面一种方法。2,找到该defunct僵尸进程的父进程,将该进程的父进程杀掉,则此defunct进程将自动消失。

什么是僵尸进程(Linux里面什么是僵尸进程)

本文编辑:admin

更多文章:


js方法与函数的区别(如何理解 JavaScript 中方法和函数的区别)

js方法与函数的区别(如何理解 JavaScript 中方法和函数的区别)

本文目录如何理解 JavaScript 中方法和函数的区别JavaScript中函数对象与函数有什么区别javascript函数、事件、对象、方法的通俗解释和他们的作用JavaScript中,类、对象、事件、方法、函数的联系与区别如何理解

2025年2月28日 07:40

vs2005是什么软件(Visual stdio 2005与SQL有什么联系吗)

vs2005是什么软件(Visual stdio 2005与SQL有什么联系吗)

本文目录Visual stdio 2005与SQL有什么联系吗vs2005和VC6.0有什么区别VS2005是什么软件vs 2005 是什么编程软件VS是什么Visual Studio 2005是什么Visual stdio 2005与SQ

2025年3月22日 13:00

datedif计算年龄(Excel中怎样根据出生年月计算年龄)

datedif计算年龄(Excel中怎样根据出生年月计算年龄)

本文目录Excel中怎样根据出生年月计算年龄Excel中如何设定一个日子作为截止日期从而来计算年龄的Excel中怎样根据出生年月计算年龄下面通过三种函数计算年龄一、INT函数用今天的日期减去出生日期,再除以365,到大致的年龄。再利用INT

2025年3月6日 03:30

taller怎么读语音(taller用英语怎么读)

taller怎么读语音(taller用英语怎么读)

本文目录taller用英语怎么读英语tαll高的怎么读Tall怎么读tall英语怎么读音taller和smaller中的all发音一样吗tall怎么读taller,stronger怎么读taller 怎么读taller用英语怎么读talle

2025年3月6日 05:00

phonegap手机版下载(Phonegap怎么用来做安卓APP)

phonegap手机版下载(Phonegap怎么用来做安卓APP)

本文目录Phonegap怎么用来做安卓APPphonegap html5 稳定吗PhoneGap应用开发对策:如何通过苹果审核如何利用PhoneGap制作地图APPphonegap 能将网站打包为APP吗phonegap和android s

2025年2月16日 04:00

translation可数吗(英汉词典里面名词翻译的后面有[C][U]的话到底是说可数还是不可数)

translation可数吗(英汉词典里面名词翻译的后面有[C][U]的话到底是说可数还是不可数)

本文目录英汉词典里面名词翻译的后面有[C][U]的话到底是说可数还是不可数单复数问题为什么the use of translation apps is 用is而翻译:“它是可数名词吗不,它不是它是不可数名词”第五题,为什么用原型,不用复数不

2025年4月5日 06:10

belate(be late的用法)

belate(be late的用法)

本文目录be late的用法belate的音标怎么写belateforschool的中文是什么意思be late的三种用法belate可以怎么造句be late的用法根据句意判断句子里说的时间是过去还是将来还是现在,根据不同的句意将Be动词

2025年2月11日 07:40

vboxmanage命令(打开cmd窗口,进入virtualbox目录,执行: C:\Program Files\Oracle\VirtualBox>VBoxManage setextradata)

vboxmanage命令(打开cmd窗口,进入virtualbox目录,执行: C:\Program Files\Oracle\VirtualBox>VBoxManage setextradata)

本文目录打开cmd窗口,进入virtualbox目录,执行: C:\Program Files\Oracle\VirtualBox>VBoxManage setextradatavboxmanage命令不能在CMD下运行,总是提示不是内部或

2025年3月13日 19:30

windowsphone下载(windows phone手机现在还能下载软件吗,怎么下载)

windowsphone下载(windows phone手机现在还能下载软件吗,怎么下载)

本文目录windows phone手机现在还能下载软件吗,怎么下载怎样在电脑中给windows phone 8下载软件windows phone8手机软件可以在哪里下载windows phone系统如何下载客户端如何在windowsphon

2025年3月13日 21:30

java生成随机数的方法(请问java中如何生成1000~10000之间的随机数)

java生成随机数的方法(请问java中如何生成1000~10000之间的随机数)

本文目录请问java中如何生成1000~10000之间的随机数介绍java 产生随机数的两种方式java怎样产生不同随机数请问java中如何生成1000~10000之间的随机数要生成在随机数为例,首先生成0-10000的随机数,然后对(10

2025年3月7日 11:40

如何来配置iis服务器加强安全?证书与iis结合实现web站点的安全性的核心步骤是什么

如何来配置iis服务器加强安全?证书与iis结合实现web站点的安全性的核心步骤是什么

本文目录如何来配置iis服务器加强安全证书与iis结合实现web站点的安全性的核心步骤是什么如何来配置iis服务器加强安全随着校园网络建设和应用的逐步深入,越来越多的学校建立了自己的Web服务器。IIS(Internet Informati

2025年3月25日 23:50

硬盘如何初始化?磁盘初始化是什么意思

硬盘如何初始化?磁盘初始化是什么意思

本文目录硬盘如何初始化磁盘初始化是什么意思用过的硬盘怎么初始化固态硬盘初始化磁盘硬盘怎么初始化win10新装硬盘初始化windows10怎么恢复出厂设置并初始化所有硬盘硬盘如何初始化硬盘是计算机的存储设备,我们可以将大量的数据放入其中保存起

2025年2月10日 05:10

免费服务器地址(哪里有免费的服务器可以领)

免费服务器地址(哪里有免费的服务器可以领)

本文目录哪里有免费的服务器可以领干货教程 | 如何把服务器免费接入IPv6哪里有免费的服务器可以领去小鸟云呀~他们有拼团0元的活动~以下是活动规则,你可以参考下:1、根据你所需的服务器配置,选择拼团购买(1H1G2M、2H2G5M、4H4G

2025年3月12日 20:50

linuxecho(Linux里面echo $UID命令后等于0作用是什么)

linuxecho(Linux里面echo $UID命令后等于0作用是什么)

本文目录Linux里面echo $UID命令后等于0作用是什么linux echo 什么意思linux echo命令linux echo是什么意思linux echo用法Linux里面echo $UID命令后等于0作用是什么题主你好,先说结

2025年2月21日 16:50

win10激活工具永久激活(win10家庭版系统怎么永久激活呢)

win10激活工具永久激活(win10家庭版系统怎么永久激活呢)

本文目录win10家庭版系统怎么永久激活呢怎么看win10是不是永久激活怎么把win10激活变为永久激活如何将批激活的win10变成永久激活有哪些激活win10的工具win10激活工具等是不是单机永久的Win10正式版永久激活工具怎么用wi

2025年3月25日 17:00

everybody knows i love you(everybody know i love you这首歌的歌词)

everybody knows i love you(everybody know i love you这首歌的歌词)

本文目录everybody know i love you这首歌的歌词谁有everybody knows i love you这首歌、跪求,不要现场版的谁有Everybody Knows I Love You中英对照歌词every body

2025年3月26日 07:50

auntie和aunt的区别(关于几个表示“阿姨”的英文单词 aunt aunty auntie 三个词有什么区别)

auntie和aunt的区别(关于几个表示“阿姨”的英文单词 aunt aunty auntie 三个词有什么区别)

本文目录关于几个表示“阿姨”的英文单词 aunt aunty auntie 三个词有什么区别aunt是什么意思英语aunt怎么念关于几个表示“阿姨”的英文单词 aunt aunty auntie 三个词有什么区别auntie=aunty是a

2025年3月5日 03:10

喝牛奶时经常看到“巴氏杀菌”,那么这到底是什么,求科普?巴氏灭菌法对蜂蜜有用吗

喝牛奶时经常看到“巴氏杀菌”,那么这到底是什么,求科普?巴氏灭菌法对蜂蜜有用吗

本文目录喝牛奶时经常看到“巴氏杀菌”,那么这到底是什么,求科普巴氏灭菌法对蜂蜜有用吗喝牛奶时经常看到“巴氏杀菌”,那么这到底是什么,求科普″巴氏"是指巴斯德发明的,巴氏杀菌法是一种低温杀菌法,是一种利用较低的温度既可杀死病菌又能保持物品中营

2025年2月21日 20:30

超链接去掉下划线(wpsoffice 超链接下划线怎么去掉)

超链接去掉下划线(wpsoffice 超链接下划线怎么去掉)

本文目录wpsoffice 超链接下划线怎么去掉wps ppt超链接怎么取消下划线html超链接更改颜色和去掉下划线WPS超链接去掉下划线做网页时,如何去除超级链接的下划线(frontpage)ppt超链接去掉下划线在HTML中怎么去掉超链

2025年2月19日 21:50

什么是数据库连接池(数据库连接池)

什么是数据库连接池(数据库连接池)

本文目录数据库连接池什么是mysql连接池,它的主要功能是什么数据库连接池在实际应用开发中,特别是在WEB应用系统中,如果JSP、Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据

2025年2月24日 22:10

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索