广告
返回顶部
首页 > 资讯 > 服务器 >Shell脚本实现查杀子进程、僵尸进程
  • 677
分享到

Shell脚本实现查杀子进程、僵尸进程

进程僵尸查杀 2022-06-04 21:06:40 677人浏览 八月长安
摘要

核心服务器上跑了一堆的脚本、程序,难免有时候会出现僵尸进程,死不死活不活的在那里占用资源,最初只是写了个根据关键字查杀进程的linux shell脚本,后来发现很多时候进程死在那里的时候其实是内部调用子进程

核心服务器上跑了一堆的脚本、程序,难免有时候会出现僵尸进程,死不死活不活的在那里占用资源,最初只是写了个根据关键字查杀进程的linux shell脚本,后来发现很多时候进程死在那里的时候其实是内部调用子进程的时候出现了问题,这时候光杀父进程根本没解决根本问题。比如说rsync的时候通过ssh来连接,rsync本身没问题,但可能ssh死掉了。因此重新写了脚本,递归查找子进程。

#!/bin/sh

# 递归找到导致进程僵死的最底层子进程并杀除.

ParentProcessID=$1;

if [ "x${ParentProcessID}" = "x" ] ; then

    echo "Please Supply the top Parent Process ID to be killed!"

    echo "Usage:sh $0 PID [-v]"

    echo "PID The Parent Process ID as root"

    echo "-v is this argument supplied,no real kill operation will be perfORMed,only process tree be show."

    exit 1

fi

let IsRealKillDo=1; if [ "x$2" = "x-v" ] ; then let IsRealKillDo=0; fi

echo "Begin Kill the Leaf Process of process ${ParentProcessID}" >&2

killpidList=""

function loopNextSubProcess(){ local nParentProcessID=$1 local tmpPidList="" tmpPidList=`ps -A --format='%p%PisParent' --width 2048 -w --sort pid|grep "${nParentProcessID}isParent"|grep -v grep|grep -v "$$" | awk '{ printf $1 }'` ps --format='%p%P%a' --width 2048 -w -p ${nParentProcessID}|grep -v grep|grep -v "$$" >&2 if [ "x${tmpPidList}" = "x" ] ; then echo "****Got One Leaf = [${nParentProcessID}]****" >&2 killpidList="${killpidList}n${nParentProcessID}" return fi

for theNextPid in ${tmpPidList} ; do loopNextSubProcess ${theNextPid} done }

loopNextSubProcess ${ParentProcessID}

if [ ${IsRealKillDo} -eq 1 -a "x${killpidList}" != "x" ] ; then for curpid in `echo -e ${killpidList}` ; do if [ "x${curpid}" != "x" ] ; then echo "kill -9 ${curpid}" kill -9 ${curpid} fi done else echo -e ${killpidList} fi

--结束END--

本文标题: Shell脚本实现查杀子进程、僵尸进程

本文链接: https://www.lsjlt.com/news/18397.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Shell脚本实现查杀子进程、僵尸进程
    核心服务器上跑了一堆的脚本、程序,难免有时候会出现僵尸进程,死不死活不活的在那里占用资源,最初只是写了个根据关键字查杀进程的linux shell脚本,后来发现很多时候进程死在那里的时候其实是内部调用子进程...
    99+
    2022-06-04
    进程 僵尸 查杀
  • Shell中怎么查杀子进程和僵尸进程
    本篇文章给大家分享的是有关Shell中怎么查杀子进程和僵尸进程,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。代码如下:#!/bin/sh# 递归找到导致进程僵死的最底层子进程并...
    99+
    2023-06-09
  • Linux系统中怎么查杀僵尸进程
    本篇文章给大家分享的是有关Linux系统中怎么查杀僵尸进程,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、如何查看僵尸进程如何查看linux系统上的僵尸进程,如何统计有多少僵...
    99+
    2023-06-12
  • Linux系统中如何查看并杀死僵尸进程
    这篇文章主要为大家展示了Linux系统中如何查看并杀死僵尸进程,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Linux系统中如何查看并杀死僵尸进程”这篇文章吧。僵尸进程是指一个已经终止、但是其父进...
    99+
    2023-06-28
  • Linux系统中如何查看并且杀死僵尸进程
    小编给大家分享一下Linux系统中如何查看并且杀死僵尸进程,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!僵尸进程就是是指一个已经终止、但是其父进程尚未对其进行善后处理获取终止进程的有关信息的进程,这个进程被称为“僵尸进程”...
    99+
    2023-06-28
  • MySQL中kill僵死进程的shell脚本
    本篇内容主要讲解“MySQL中kill僵死进程的shell脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL中kill僵死进程的shell脚本”吧! ...
    99+
    2022-10-18
  • Linux系统中查看并且杀死僵尸进程命令有哪些
    这篇“Linux系统中查看并且杀死僵尸进程命令有哪些”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Linux系统中查看并且杀死僵尸进程命令有哪些”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望...
    99+
    2023-06-28
  • linux shell实现守护进程脚本
    嵌入式初学者,第一次上传代码。昨天做了一个udhcpd与udhcpc的守护,目前只会用shell模仿编写,还有什么方法可以做守护呢? #! /bin/sh #进程名字可修改 PRO_NAME=udhcp...
    99+
    2022-06-04
    脚本 进程 linux
  • shell脚本shell脚本实现监控某个进程意外停止后拉起进程
    小编给大家分享一下shell脚本shell脚本实现监控某个进程意外停止后拉起进程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!要监护的进程启动脚本:实现脚本写入c...
    99+
    2023-06-09
  • Shell脚本实现的memcached进程监控
    WEB服务器使用memcached,但是不知道为什么memcached老是挂掉(基本20分钟~50分钟左右),导致部分网站页面在访问的时候出错;定义日志后,查看日志也未能发现什么;初步判定由于之前更新lib...
    99+
    2022-06-04
    脚本 进程 Shell
  • 怎么用vbs实现强制杀进程的脚本
    这篇文章主要讲解了“怎么用vbs实现强制杀进程的脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用vbs实现强制杀进程的脚本”吧!'备注:vbs强制关闭程序 '防止出现...
    99+
    2023-06-08
  • shell脚本查询进程, 存在则kill掉
    这是一个在 shell 脚本中查询进程并结束该进程的示例: # 查询进程process=`ps -ef | grep "process_name" | grep -v grep | awk '{print $2}'`# 如果进程存在,则...
    99+
    2023-09-06
    linux 服务器 运维
  • shell脚本实现killOracle指定用户进程
    #!/bin/kshsu - oracle << !echo "select 'alter system kill session '''||sid||''||','||serial#...
    99+
    2022-10-18
  • Shell脚本查看进程内存真实占用情况
    #!/bin/bash #****************************************************************# # ScriptName: pm # A...
    99+
    2022-06-04
    脚本 进程 内存
  • 如何使linux shell实现守护进程脚本
    这篇文章主要讲解了“如何使linux shell实现守护进程脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使linux shell实现守护进程脚本”吧!#! /bin/sh...
    99+
    2023-06-09
  • Linux下使用Shell脚本实现进程监控的流程
    本文介绍一种在Linux系统下为实现某些关键进程状态的实时监控而使用shell脚本的编写方法。在这里主要通过监控某些进程是否退出作为判断依据,如果某个进程退出了,则进行对应的恢复处理...
    99+
    2023-02-27
    Shell脚本进程监控 Linux使用Shell脚本进程监控
  • 使用shell脚本怎么实现多进程运行
    这篇文章将为大家详细讲解有关使用shell脚本怎么实现多进程运行,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。例子for ip in 192.168.56.{1...
    99+
    2023-06-09
  • shell脚本实现监控某个进程意外停止后拉起进程
    要监护的进程启动脚本:实现脚本写入crontab定时任务 #!/usr/bin/env bash # scheduled task at 22:00 everyday scriptzMqMCHnw_path=`eva...
    99+
    2022-06-04
    shell脚本拉起进程 shell脚本实现监控某个进程意外停止后拉起进程
  • Shell脚本实现检测进程是否正在运行
    这里简单介绍一个自己写的检测某个进程是否存在的bash小脚本。直接上代码。 #!/bin/bash ps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v...
    99+
    2022-06-04
    脚本 正在运行 进程
  • shell脚本实现多进程运行的方法示例
    本文主要跟大家分享了shell脚本实现多进程运行的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 例子 for ip in 192.168.56.{1..254} do ( ping ...
    99+
    2022-06-04
    示例 脚本 进程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作