位置: IT常识 - 正文

Linux系统中查杀僵尸进程的基本方法讲解(linux查杀webshell)

编辑:rootadmin
这篇文章主要介绍了Linux系统中查杀僵尸进程的基本方法讲解,文中讲到了Linux中处理相关进程的SIGCHLD信号的相关知识,需要的朋友可以参考下... 15-12-19

推荐整理分享Linux系统中查杀僵尸进程的基本方法讲解(linux查杀webshell),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux查看杀死进程命令kill,linux病毒查杀,linux rootkit查杀,linux查看杀毒软件,linux查杀webshell,linux rootkit查杀,linux rootkit查杀,linux如何查杀进程,内容如对您有帮助,希望把文章链接给更多的朋友!

在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程. 在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用 waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程。

一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁, 而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,它的作用是 使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)

进程的危害由于子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束. 那么会不会因为父进程太忙来不及wait子进程,或者说不知道 子进程什么时候结束,而丢失子进程结束时的状态信息呢? 不会。因为UNⅨ提供了一种机制可以保证只要父进程想知道子进程结束时的状态信息, 就可以得到。这种机制就是: 在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination status of the process,运行时间the amount of CPU time taken by the process等)。直到父进程通过wait / waitpid来取时才释放. 但这样就导致了问题,如果进程不调用wait / waitpid的话,那么保留的那段信息就不会释放,其进程号就会一直被占用,但是系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程. 此即为僵尸进程的危害,应当避免。

1、如何查看僵尸进程?如何查看linux系统上的僵尸进程,如何统计有多少僵尸进程?

代码如下:#ps -ef | grep defunct

或者查找状态为Z的进程,Z就是代表zombie process,僵尸进程的意思。

Linux系统中查杀僵尸进程的基本方法讲解(linux查杀webshell)

另外使用top命令查看时有一栏为S,如果状态为Z说明它就是僵尸进程。

代码如下:Tasks: 95 total, 1 running, 94 sleeping, 0 stopped, 0 zombie

top命令中也统计了僵尸进程。或者使用下面的命令:

代码如下:ps -ef | grep defunct | grep -v grep | wc -l

2、如何杀死僵尸进程?一般僵尸进程很难直接kill掉,不过您可以kill僵尸爸爸。父进程死后,僵尸进程成为”孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程.它产生的所有僵尸进程也跟着消失。

代码如下:ps -e -o ppid,stat | grep Z | cut –d” ” -f2 | xargs kill -9

代码如下:kill -HUP `ps -A -ostat,ppid | grep -e ’^[Zz]‘ | awk ’{print $2}’`

当然您可以自己编写更好的shell脚本,欢迎与大家分享。

另外子进程死后,会发送SIGCHLD信号给父进程,父进程收到此信号后,执行waitpid()函数为子进程收尸。就是基于这样的原理:就算父进程没有调用wait,内核也会向它发送SIGCHLD消息,而此时,尽管对它的默认处理是忽略,如果想响应这个消息,可以设置一个处理函数。

3、如何避免僵尸进程?处理SIGCHLD信号并不是必须的。但对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结 束,子进程将成为僵尸进程(zombie)从而占用系统资源。如果父进程等待子进程结束,将增加父进程的负担,影响服务器进程的并发性能。在Linux下 可以简单地将 SIGCHLD信号的操作设为SIG_IGN。 signal(SIGCHLD,SIG_IGN); 这样,内核在子进程结束时不会产生僵尸进程。这一点与BSD4不同,BSD4下必须显式等待子进程结束才能释放僵尸进程

或者

用两次fork(),而且使紧跟的子进程直接退出,是的孙子进程成为孤儿进程,从而init进程将负责清除这个孤儿进程。

本文链接地址:https://www.jiuchutong.com/zhishi/267682.html 转载请保留说明!

上一篇:mac系统的电脑怎么切换城市天气? mac切换其他城市的天气的技巧(mac系统小技巧)

下一篇:如何阻止windows更新驱动程序(如何阻止windows10升级到11)

  • 手机内存不足怎么办苹果(手机内存不足怎么办)(手机内存不足怎么办)

    手机内存不足怎么办苹果(手机内存不足怎么办)(手机内存不足怎么办)

  • 荣耀手环怎么调时间(荣耀手环怎么调声音)

    荣耀手环怎么调时间(荣耀手环怎么调声音)

  • vivo手机怎么下载来电铃声(vivo手机怎么下载oTG)

    vivo手机怎么下载来电铃声(vivo手机怎么下载oTG)

  • 苹果xsmax的处理器是什么(苹果xsmax处理器多少)

    苹果xsmax的处理器是什么(苹果xsmax处理器多少)

  • iphone隐藏照片怎么找出(iphone隐藏照片怎么设置)

    iphone隐藏照片怎么找出(iphone隐藏照片怎么设置)

  • 华为手机怎么进入省电模式(华为手机怎么进入开发者选项)

    华为手机怎么进入省电模式(华为手机怎么进入开发者选项)

  • 微信怎么换成其他图标(微信怎么换成其他头像)

    微信怎么换成其他图标(微信怎么换成其他头像)

  • ipad充电半天还是红色(ipad充半天还是1)

    ipad充电半天还是红色(ipad充半天还是1)

  • 华为p40pro怎么100倍变焦(华为P40PrO怎么设置开灯壁纸)

    华为p40pro怎么100倍变焦(华为P40PrO怎么设置开灯壁纸)

  • 连接已重置是什么意思(连接已重置的原因)

    连接已重置是什么意思(连接已重置的原因)

  • 苹果8最近老是卡顿(苹果最近老是收到垃圾短信)

    苹果8最近老是卡顿(苹果最近老是收到垃圾短信)

  • 荣耀20支持双击亮屏吗(荣耀20支持双击吗)

    荣耀20支持双击亮屏吗(荣耀20支持双击吗)

  • 什么是BS机(什么是bs机能买吗)

    什么是BS机(什么是bs机能买吗)

  • 扩容机有什么坏处(扩容机好不好)

    扩容机有什么坏处(扩容机好不好)

  • 微信上小程序怎么做(微信上小程序怎么删除)

    微信上小程序怎么做(微信上小程序怎么删除)

  • 怎么看显卡的性能档次(怎么看显卡的性能好不好)

    怎么看显卡的性能档次(怎么看显卡的性能好不好)

  • 爱奇艺怎么小米登入(爱奇艺小米账号登录)

    爱奇艺怎么小米登入(爱奇艺小米账号登录)

  • zenly卸载了还能看到位置吗(Zenly卸载了还能看到定位吗)

    zenly卸载了还能看到位置吗(Zenly卸载了还能看到定位吗)

  • 微信朋友圈只保存5年吗(微信朋友圈只保持十年吗)

    微信朋友圈只保存5年吗(微信朋友圈只保持十年吗)

  • 如何设置抖音视频时间(如何设置抖音视频自动播放)

    如何设置抖音视频时间(如何设置抖音视频自动播放)

  • a1778是否卡贴机(a1518卡贴)

    a1778是否卡贴机(a1518卡贴)

  • 小米6通话声音小怎么办(小米6通话声音小怎么调)

    小米6通话声音小怎么办(小米6通话声音小怎么调)

  • oppo reno机身材质(opporenoz机身材质)

    oppo reno机身材质(opporenoz机身材质)

  • oppok3实体店有货吗(oppok3实体店有卖吗)

    oppok3实体店有货吗(oppok3实体店有卖吗)

  • nxtcl00是什么型号

    nxtcl00是什么型号

  • 微信里的文档怎样传到电脑(微信里的文档怎么保存到手机里)

    微信里的文档怎样传到电脑(微信里的文档怎么保存到手机里)

  • EMQX(MQTT)----基本用法以及使用Python程序进行模拟流程

    EMQX(MQTT)----基本用法以及使用Python程序进行模拟流程

  • 堤防是啥
  • 个人所得税个体户减半
  • 企业所得税的纳税人发生年度亏损的时间
  • 食堂用固定资产可以抵扣吗
  • 无偿使用场地涉及的问题
  • 增值税发票跨年抵扣新政策
  • 购入股票作为短期投资是什么凭证
  • 个人动产租赁税费怎么算
  • 公司对公账户给员工发工资税是谁扣
  • 审计库存现金盘点方法
  • 库存现金贷方为负数说明什么
  • 发票超过认证期限可以红冲重开吗
  • 委托加工消费税纳税义务发生时间
  • 公司注册前发生费用没有发票怎么办
  • 事业单位专项资金的管理要求
  • 增值税发票免税和0%区别
  • 发票查验平台查询官网手机版App
  • 地下商铺出售产权归属
  • 新公司领取营业执照后的流程
  • 注册资本越大越有实力
  • 开票系统的收款码怎么弄
  • 外聘人才一次性工资费用入账什么分录?
  • 常见转移支付事项有哪些情况
  • 先发货后开票的销售业务流程
  • 建账怎么建
  • win10系统通知中心在哪
  • 销售费用的作用
  • fsacder2e是什么文件夹
  • php foo
  • 外商独资企业在中国上市简称什么
  • 消费税的计算过程
  • 公司报亏损需要交税吗
  • 德国楚格峰一日游攻略
  • ci框架中新建的控制器取不到session
  • css获取id
  • 推荐 4个有趣实践作业
  • openprop教程
  • 确认收入的五个原则
  • 帝国cms灵动标签调用外表
  • 现金流量表直接法的优缺点
  • 完税凭证是
  • 勾选了不抵扣还能抵扣
  • 计提折旧的固定资产全年平均总值怎么算
  • 部分货物退回怎么开票
  • 递延收益会计科目使用说明
  • 预付账款如何结账
  • 付款金额与增值金额区别
  • 同一控股下并合并的股票
  • 给员工租房怎么才能避开风险
  • 企业变卖汽车收入要交增值税吗
  • 出售在建工程的会计分录怎么做
  • 政府拆迁赔款会计上怎样做账
  • 计提以前年度应付股利的分录
  • 企业法人从公司怎么拿钱
  • 外资企业所得税优惠政策
  • 仓库用托盘怎么入账
  • 工程造价咨询公司招聘
  • 先进先出法实际成本跟成本不一样吗
  • 购入固定资产一次性扣除政策
  • 会计记账基础有哪两种
  • mysql的innodb和myisam
  • windows vista升级
  • 设置ubuntu
  • ubuntu搜索工具
  • xp系统怎么卸载驱动程序
  • centos fuser
  • win8桌面一直在闪
  • 微软windows1
  • 怎么设置永久禁止下载拼多多
  • Win10桌面版红石预览版14295更新(修复)、已知问题及解决方案汇总
  • node.js使用教程
  • 常用dos命令详解
  • 协程有什么用
  • python itcast
  • javascript ts
  • python字典合并 同key
  • jquery fullpage
  • 简单谈谈你对中国国防建设的认识
  • js link global
  • 增值税申报表更正申报期限
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设