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

2024-07-16 15:44:01 105

什么是僵尸进程(2. 在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后又会恢复运行。

Linux的僵尸进程是怎么出现的


当然会成为僵尸进程,你的C、D子进程比父进程先结束,
在fork ()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为“孤儿进程“,过继给1号进程init,init始终会负责清理僵尸进程。
僵尸进程的避免:
(1) 父进程通过wait和waitpid等函数等待子进程结束,这会导致父进程挂起。
(2) 如果父进程很忙,那么可以用signal函数为SIGCHLD安装handler,因为子进程结束后, 父进程会收到该信号,可以在handler中调用wait回收。
(3) 如果父进程不关心子进程什么时候结束,那么可以用signal(SIGCHLD, SIG_IGN) 通知内核,自己对子进程的结束不感兴趣,那么子进程结束后,
内核会回收, 并不再给父进程发送信号。
(4) 还有一些技巧,就是fork两次,父进程fork一个子进程,然后继续工作,子进程fork一 个孙进程后退出,那么孙进程被init接管,孙进程结束后,
init会回收。不过子进程的回收 还要自己做。

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

参见:网页链接


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


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

什么是僵尸进程


僵尸进程: 一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程。 守护进程; 子进程未结束,父进程结束,子进程由init 进程接管,子进程可作为守护进程。

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


进程(在很多操作系统中也称为任务)是操作系统中的一个十分重要的概念。什么是进程呢?所谓进程是指程序的一次执行过程,在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的应用程序不必让位给其它程序就能以友好的方式实现多任务。操作系统会根据系统的需要把控制权交给某个运行中的任务,或从某个运行中的任务移走控制权。这才是真正的多任务操作系统。
僵尸进程消耗线程

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

本文编辑:admin

更多文章:


植物大战僵尸英雄下载(植物大战僵尸英雄卡牌破解版在哪里下载)

植物大战僵尸英雄下载(植物大战僵尸英雄卡牌破解版在哪里下载)

大家好,如果您还对植物大战僵尸英雄下载不太了解,没有关系,今天就由本站为大家分享植物大战僵尸英雄下载的知识,包括植物大战僵尸英雄卡牌破解版在哪里下载的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录植物大战僵尸英雄卡

2024年6月16日 10:36

万能u盘驱动程序(如何修复u盘驱动器)

万能u盘驱动程序(如何修复u盘驱动器)

本文目录如何修复u盘驱动器U盘插进电脑显示找不到驱动的安装程序是怎么回事啊如何修复u盘驱动器一、系统自带驱动解决 点击计算机--右--设备管理器,打开设备管理器。打开“通用串行总线控制器”。插入不被识别的U盘,等待一小会儿,相应的US

2024年6月27日 05:24

龙之谷职业选择(龙之谷,什么职业比较强大!)

龙之谷职业选择(龙之谷,什么职业比较强大!)

本文目录龙之谷,什么职业比较强大!龙之谷那个职业好端游龙之谷所有职业有哪些龙之谷手游推荐玩什么职业刚玩龙之谷,选什么职业好龙之谷,什么职业比较强大!先说战士(转战神和剑圣) 战士是所有职业里最容易上手的 操作简单 冲上去砍就可以了 刷

2024年6月12日 16:40

比特币客户端下载(要是现在有一个比特币,怎么才能把它变成人民币呢)

比特币客户端下载(要是现在有一个比特币,怎么才能把它变成人民币呢)

本文目录要是现在有一个比特币,怎么才能把它变成人民币呢比特币谁发明的比特币机器是怎么运转的炒比特币犯法吗请大神赐教怎么查自己名下有没有比特币比特币怎么挖出来的比特币钱包地址怎么获得要是现在有一个比特币,怎么才能把它变成人民币呢比特币变现目前

2024年2月11日 08:00

撕衣服模拟器游戏下载破解版(撕衣服的游戏手机游戏)

撕衣服模拟器游戏下载破解版(撕衣服的游戏手机游戏)

本文目录撕衣服的游戏手机游戏单机撕帅哥衣服小游戏下载求安卓版成人手机游戏,我手机是的HTC G12,不要那些撕衣之类的,谢了三星手机如何下载撕衣服游戏打工生活模拟器内购版怎么下载撕衣服的游戏手机游戏救赎是由女神之泪和巨人腰带两件装备合成的。

2024年7月18日 08:24

剑侠情缘三官网地址是什么?剑三怎么查积分兑换记录查询

剑侠情缘三官网地址是什么?剑三怎么查积分兑换记录查询

这篇文章给大家聊聊关于剑三官网,以及剑侠情缘三官网地址是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录剑侠情缘三官网地址是什么剑三怎么查积分兑换记录查询剑网三5173买的账号,怎样分离到自己身份注册的账号上剑网三怎么查消

2024年7月24日 13:16

如何使用手机导航地图?下载高德地图2022最新版手机导航安装不了

如何使用手机导航地图?下载高德地图2022最新版手机导航安装不了

大家好,如果您还对手机导航不太了解,没有关系,今天就由本站为大家分享手机导航的知识,包括如何使用手机导航地图的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录如何使用手机导航地图下载高德地图2022最新版手机导航安装

2024年4月25日 04:35

诛仙端游官网首页(诛仙里面怎么查自己的账号在那个服务器建的角色啊)

诛仙端游官网首页(诛仙里面怎么查自己的账号在那个服务器建的角色啊)

本篇文章给大家谈谈诛仙端游官网首页,以及诛仙里面怎么查自己的账号在那个服务器建的角色啊对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录诛仙里

2024年7月23日 07:48

flyme魅族游戏中心(魅族fly me游戏账号怎么在其他手机里登陆)

flyme魅族游戏中心(魅族fly me游戏账号怎么在其他手机里登陆)

各位老铁们好,相信很多人对flyme魅族游戏中心都不是特别的了解,因此呢,今天就来为大家分享下关于flyme魅族游戏中心以及魅族fly me游戏账号怎么在其他手机里登陆的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文

2024年5月22日 01:14

大白菜u盘启动工具(大白菜超级U盘启动制作工具,这4个模式都是什么意思)

大白菜u盘启动工具(大白菜超级U盘启动制作工具,这4个模式都是什么意思)

本文目录大白菜超级U盘启动制作工具,这4个模式都是什么意思大白菜超级u盘启动制作工具大白菜u盘启动制作工具把下好的程序放哪啊大白菜u盘启动制作工具 制作启动U盘如何制作大白菜u盘启动盘大白菜超级u盘启动制作工具怎么用大白菜超级U盘启动盘制作

2024年1月17日 07:00

在线检测电脑配置(WeGame如何检测电脑配置)

在线检测电脑配置(WeGame如何检测电脑配置)

本文目录WeGame如何检测电脑配置哪里看电脑配置参数win7系统如何在线检测电脑配置WeGame如何检测电脑配置1,首先我们点击桌面上的“WeGame”图标,打开Wegame客户端,输入用户名和密码进行登录。2,点击“登录”之后,稍等片刻

2024年5月17日 16:23

固态硬盘笔记本(笔记本电脑固态硬盘和机械硬盘哪个好,区别是什么)

固态硬盘笔记本(笔记本电脑固态硬盘和机械硬盘哪个好,区别是什么)

本文目录笔记本电脑固态硬盘和机械硬盘哪个好,区别是什么笔记本电脑固态硬盘是什么意思 固态硬盘介绍笔记本的固态硬盘是什么意思笔记本可以装固态硬盘么笔记本电脑自带固态硬盘好吗笔记本如何装固态硬盘笔记本使用固态硬盘有什么好处笔记本 512g固态硬

2024年5月3日 07:23

QQ英雄岛用英雄岛下载器怎么下载不了?qq英雄岛下载不下来

QQ英雄岛用英雄岛下载器怎么下载不了?qq英雄岛下载不下来

本文目录QQ英雄岛用英雄岛下载器怎么下载不了qq英雄岛下载不下来英雄道怎么点亮图标QQ英雄岛用英雄岛下载器怎么下载不了很高兴为您解答可以的,只不过您电脑上垃圾文件软件太多强烈建议您把 杀毒软件卸载掉,用优化大师优化一下电脑清理一下垃圾。然后

2024年7月11日 14:13

免费起名软件哪个好用(下载什么软件可以给宝宝起名,给孩子起名字用的工具书有哪些)

免费起名软件哪个好用(下载什么软件可以给宝宝起名,给孩子起名字用的工具书有哪些)

大家好,免费起名软件哪个好用相信很多的网友都不是很明白,包括下载什么软件可以给宝宝起名,给孩子起名字用的工具书有哪些也是一样,不过没有关系,接下来就来为大家分享关于免费起名软件哪个好用和下载什么软件可以给宝宝起名,给孩子起名字用的工具书有哪

2024年4月17日 16:10

国外酒店订房网有哪些?国内酒店预订网站排名

国外酒店订房网有哪些?国内酒店预订网站排名

本文目录国外酒店订房网有哪些国内酒店预订网站排名特价酒店预订网出国旅游订酒店,哪些网站比较靠谱国外酒店订房网有哪些  您好,艺龙的酒店预订价格相对比较的优惠;并且推出消费券等返现活动;价格更为优惠的团购产品;成熟的售后服务团队。  您可以直

2024年6月6日 12:02

数据库软件免费下载(有没有操作简单的现成数据库)

数据库软件免费下载(有没有操作简单的现成数据库)

本文目录有没有操作简单的现成数据库Mac电脑中有哪些免费的通用的数据库工具大家常用哪个MySQL客户端工具,除了命令行那个mysql之外哪里可以找到通用的数据库可视化工具有完全免费的数据库软件么我最近想使用一款数据库软件,数据源主要是来自于

2023年6月7日 05:20

oa系统服务器地址在哪里看(汉阳oa服务器地址)

oa系统服务器地址在哪里看(汉阳oa服务器地址)

“oa系统服务器地址在哪里看”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看oa系统服务器地址在哪里看(汉阳oa服务器地址)!本文目录汉阳oa服务器地址oa地址是什么办公OA客户端外网地址,内网地址指的是什么,初次登录怎么设

2024年8月15日 02:30

英雄联盟手游预约(有什么软件可以预约英雄联盟手游嘛)

英雄联盟手游预约(有什么软件可以预约英雄联盟手游嘛)

本文目录有什么软件可以预约英雄联盟手游嘛请问英雄联盟手游怎么预约的啊请问英雄联盟手游在哪里可以预约怎么样才能玩到英雄联盟手游在哪里预约《英雄联盟》手游英雄联盟手游的资格申请需要预约吗请问一下怎么样才能玩到英雄联盟手游英雄联盟手游的资格申请在

2024年1月16日 10:00

未能更新iphone发生未知错误3194(Iphone恢复固件时出现3194错误怎么办)

未能更新iphone发生未知错误3194(Iphone恢复固件时出现3194错误怎么办)

本文目录Iphone恢复固件时出现3194错误怎么办iphone错误3194怎么解决iTunes恢复iPhone固件发生未知错误3194怎么办itunes更新固件时出现3194错误iphone更新时发生未知错误3194是什么意思如何解决苹果

2024年7月2日 11:49

preior什么意思?prior的比较级和最高级

preior什么意思?prior的比较级和最高级

本篇文章给大家谈谈prior,以及preior什么意思对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录preior什么意思prior的比较级

2024年7月5日 12:00

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1154
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1151
标签列表

热门搜索