位置: 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)

  • 手机怎么修改微博名字(手机怎么修改微信文档内容)

    手机怎么修改微博名字(手机怎么修改微信文档内容)

  • 荣耀手环5和荣耀手环4区别(荣耀手环5和荣耀手环4对比)

    荣耀手环5和荣耀手环4区别(荣耀手环5和荣耀手环4对比)

  • 微信拍视频怎么美颜(微信拍视频怎么不保存相册)

    微信拍视频怎么美颜(微信拍视频怎么不保存相册)

  • excel打数字为什么变成E+(excel打数字为什么变成符号)

    excel打数字为什么变成E+(excel打数字为什么变成符号)

  • 腾讯视频怎么旋转屏幕(腾讯视频怎么旋转90度)

    腾讯视频怎么旋转屏幕(腾讯视频怎么旋转90度)

  • 荣耀体脂秤为何只显示体重(荣耀体脂秤不亮怎么回事)

    荣耀体脂秤为何只显示体重(荣耀体脂秤不亮怎么回事)

  • 没有淘宝店铺可以在抖音上卖货吗(没有淘宝店铺可以开淘特吗)

    没有淘宝店铺可以在抖音上卖货吗(没有淘宝店铺可以开淘特吗)

  • 拼多多一个身份证可以开几个店铺(拼多多一个身份证可以开3个店铺)

    拼多多一个身份证可以开几个店铺(拼多多一个身份证可以开3个店铺)

  • 苹果手机可以拉黑对方号码吗(苹果手机可以拉黑座机号码吗)

    苹果手机可以拉黑对方号码吗(苹果手机可以拉黑座机号码吗)

  • 电脑充电的时候可以正常使用吗(电脑充电的时候充电器为什么特别烫)

    电脑充电的时候可以正常使用吗(电脑充电的时候充电器为什么特别烫)

  • kml文件怎么打开(kml文件怎么打开奥维)

    kml文件怎么打开(kml文件怎么打开奥维)

  • 嘀嗒拼车乘客提现多久到账(嘀嗒拼车成功怎么算车费)

    嘀嗒拼车乘客提现多久到账(嘀嗒拼车成功怎么算车费)

  • 苹果11怎么放双卡(苹果11双待怎么用)

    苹果11怎么放双卡(苹果11双待怎么用)

  • 华为怎么调白名单(华为如何设置白名单)

    华为怎么调白名单(华为如何设置白名单)

  • 组成计算机指令的两部分是(组成计算机指令的两大部件是)

    组成计算机指令的两部分是(组成计算机指令的两大部件是)

  • 电话无人接听怎么回事(电话无人接听怎么设置自动回复短信)

    电话无人接听怎么回事(电话无人接听怎么设置自动回复短信)

  • 手机中怎么更改锁屏密码(手机中怎么更改字体样式)

    手机中怎么更改锁屏密码(手机中怎么更改字体样式)

  • 三星手机重启快捷键(三星手机重启快捷键在哪)

    三星手机重启快捷键(三星手机重启快捷键在哪)

  • 技嘉主板bios更新教程(技嘉主板bios更新后无法开机)

    技嘉主板bios更新教程(技嘉主板bios更新后无法开机)

  • Linux basename命令的使用详解(linux-base)

    Linux basename命令的使用详解(linux-base)

  • web期末大作业--网页设计 HTML+CSS+JS(附源码)(web期末大作业源代码)

    web期末大作业--网页设计 HTML+CSS+JS(附源码)(web期末大作业源代码)

  • Windows10系统CUDA和CUDNN安装教程(WINDOWS10系统怎样给电脑分区)

    Windows10系统CUDA和CUDNN安装教程(WINDOWS10系统怎样给电脑分区)

  • talk命令  用于与其他使用者对谈(taskset命令详解)

    talk命令 用于与其他使用者对谈(taskset命令详解)

  • 税金及附加都包含什么
  • 购买财务软件的会计分录怎么做
  • 公司给个体户转账怎么交税
  • 企业所得税期初资产总额怎么填写
  • 供电车间工人薪酬计入什么科目
  • 销售折让开具红字
  • 预借差旅费,付给现金会计分录
  • 仓库物料入库
  • 专票上没写开户行合规吗
  • 分支机构第要交企业所得税吗?
  • 先开票后预缴能跨年吗
  • 广告公司广告费会计分录
  • 做内账有风险还是做外账有风险
  • 所得税费用按月还是按年算
  • 议价收购股份的账务处理
  • 地下车库是否需要设置消防电梯?
  • 信息服务费发票范围
  • 远期外汇合约套期会计分录
  • 购进商品是什么会计科目
  • 一般纳税人转为小规模纳税人后还可以转为一般纳税人吗
  • 设计费和勘察费的会计科目
  • 闲置设备怎么处理
  • 在windows7操作具有
  • 电脑bios找不到vt
  • 怎样会被税
  • 购货人与收货人的关系
  • 分红财务做账
  • PHP:imagecolormatch()的用法_GD库图像处理函数
  • 利润分配弥补亏损会计分录
  • 个人博客登录入口
  • php生成颜色面板
  • 公司向法人借款的借条怎么写
  • 罚款支出是什么意思
  • 前端image
  • java基础笔试题在线考
  • 命令行窗口
  • 公办学校的会计
  • 研发 专利
  • CINLINELE工具
  • 销售费用变动率异常
  • 普通发票销货清单
  • 异地如何申报纳税
  • sql中order by的用法
  • 超市小规模税负怎么算
  • 支付技术研究开发费
  • 材料暂估入库的账务处理
  • 贴现帐务处理
  • 企业正常经营的条件
  • 股票增发给谁
  • 结转已售材料成本6000元
  • 发票专用章刻制
  • 个体户需要报税吗?需要报哪些税?
  • windows进程数
  • 如何查看网络连接密码
  • win7系统重启后多了一个安全启动用户
  • ubuntu怎么录音
  • Ubuntu Update-rc.d命令详细介绍
  • mac如何设置环境变量
  • mac怎么修改默认应用
  • windows8怎么调整亮度
  • ubuntu和windows比较有什么好处
  • linux修改ipv6地址
  • win8资源管理器未响应
  • Facebook Open Platform编译FAQ
  • 方便存储 Win8系统的SkyDrive功能大体验
  • windows10 预览
  • unity设置帧数
  • bat批处理命令运行程序
  • Vuforia ImageTarget Native版本编译
  • activitythread main方法
  • web标准包含哪些
  • 网页的css
  • jquery制作简单的网页
  • 关于减肥的好方法
  • jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
  • Developing for Android, III: The Rules: Performance
  • 备忘录全部笔记
  • Jquery实现select multiple左右添加和删除功能的简单实例
  • 需要缴税多少钱一个月
  • 城市建设维护税减免政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设