怎么自动杀死UNIX僵死的进程

多进程编程卡死解决方案 居于对话框多进程编程,解决ui卡死、刷新问题 立即下载

人保系统的计算机应用,已从单机运行方式过渡到以公司为中心的集中处理方式,各县级支公司通过广域网、远程telnet登录到市公司主机。由于网络的原因,有些进程会忽然僵死。这些僵死的进程,会消耗系统大量的资源,直接影响机器的正常运行。为了实时地、自动地杀死这些僵死的进程,本人编写了 Shell程式Autokill。 

   Autokill程式脚本 
   # 

   # autokill 

   # 

   ps -ef | awk ’{ print $1,$2,$7,$8 }’ | \ 

   awk ’/[0-9][0-9]:[0-9][0-9]:[1-9][0-9]/ { print $1,$2,$3,$4 }’ | \ 

   awk ’!/root/ { print "kill -9 " $2}’ > /tmp/k_kill 

   chmod 777 /tmp/k_kill 

   /tmp/k_kill 

   Autokill程式解释 
   首先,用UNIX 命令 ps -ef 查看进程状态,通过管道传送给 awk 进行处理。 

   在第一个 awk 中,获取进程的用户标识(UID)、进程号(PID)、进程占用CPU时间(Time)、进程执行命令(CMD)四个字段的值。 

   在第二个awk 中,通过模式匹配,选取所有匹配模式的行。在awk 中,[0-9]匹配0~9中任一个数字,[1-9]匹配1~9中所有一个数字,连用两个[0-9][0-9]则匹配一个任意两位数,因此[0-9][0-9]:[0-9][0-9]:[1-9][0-9]则匹配 Time时间字段值,查找占用 CPU 时间超过 10 秒的进程;如果要查找占用 CPU 时间超过半小时的进程,则把模式改成 [0-9][0-9]:[3-9][0-9]:[0-9][0-9]。 

   在第三个 awk 中,用 “!/root/ ”过滤掉由 Root用户生成的进程,并进行Shell语言拼装,并将最终结果定向到文件 /tmp/k_kill。在 /tmp/k_kill 文件中,都是形如 kill -9 123 的Shell命令。 

   在Autokill程式的最后,执行 /tmp/k_kill 杀死进程。 

   查看中间结果 
   Autokill程式采用了管道处理方式,如要查看中间结果,则能依次断开管道。 

   第一步执行:ps -ef 

   第二步执行:ps -ef | awk ’{ print $1,$2,$7,$8 }’ 

   第三步执行:ps -ef | awk ’{ print $1,$2,$7,$8 }’ | \ 

   awk ’/[0-9][0-9]:[0-9][0-9]:[1-9][0-9]/ { print $1,$2,$3,$4 }’ 

   第四步执行:ps -ef | awk ’{ print $1,$2,$7,$8 }’ | \ 

   awk ’/[0-9][0-9]:[0-9][0-9]:[1-9][0-9]/ { print $1,$2,$3,$4 }’ | \ 

   awk ’!/root/ { print "kill -9 " $2}’ > /tmp/k_kill 

   最终查看 /tmp/k_kill 文件。 

   再有,如只想自动杀死由某一用户执行的进程(如jdc3206),只要将模式“!/root/”改成 “/jdc3206/”即可;如只想杀死执行某一命令的进程(如 xinmu ),只要将模式“!/root/” 改成“/xinmu/”即可。 

   最后用 crontab -e 增加一个 cron 作业。 

   0,30 * * * * /tmp/autokill 

   Kill命令失灵怎么办 
   经过以上步骤,系统每隔半小时执行一次/tmp/autokill。但在UNIX系统中,有些僵死的进程会莫名其妙地不能用 Kill 命令杀死,这就需要重新引导机器,一方面清除系统垃圾,另一方面需要对资源重新分配。采用中心运行模式,机器不能随意开关机,总要等到夜晚没有用户使用机器时,才能重新开关机。为此编写一个Shell程式,让机器自动开关机。以下是Autoreboot 程式脚本。 

   # 

   # autoreboot 

   # 

   PATH=/bin:/etc:/usr/bin:/tcb/bin:/usr/informix/bin 

   INFORMIXDIR=/usr/informix 

   INFORMIXSERVER=da3206a 

   ONCONFIG=onconfig.yca 

   export PATH INFORMIXDIR INFORMIXSERVER ONCONFIG 

   onmode -ky 

   sync 

   sync 

   reboot 

   Autoreboot程式前 5 行,是设置 Informix系统环境,命令 onmode -ky 是关闭 Informix Online数据库,命令 sync 是UNIX 文件系统终极块回写,命令 reboot 是UNIX 系统中的系统重新启动命令。 

   用 crontab -e 命令,增加一行 cron 作业30 6 * * * /tmp/auto_boot。 

   该命令使系统每天6:30 重新开关机。如果使用的是双机系统,则要在两台机器上,都要进行重新开关机,时间定成一致 

labelImg使用教程 Anaconda环境 安装 Anaconda 之后,在开始菜单下找到 Anaconda 文件夹 找到 Anaconda Prompt 点击运行 安装 labelImg pip install labelImg #直接命令行输入 启动 labelImg labelImg #直接命令行输入名称即可 labelImg界面 开始标注 快捷键:W(创建方框),A(上一张),D(下一张) XML文件示例 <annotation> <folder>夜读</folder> 阅读详情

相关推荐

TSMaster实战:如何用LIN总线唤醒你的汽车电子系统(附波形分析)

本文通过TSMaster工具实战解析LIN总线唤醒机制。详细介绍了LIN网络唤醒的协议要求、时序参数计算,并演示了如何在TSMaster中配置唤醒信号、捕获分析波形,以及验证休眠流程。文章结合常见问题排查,为汽车电子工程师提供了从理论到实践的完整调试指南。

weixin_28308325的博客 459

Unix或Linux系统,结束一个进程及其子进程树

该命令会向指定的进程发送一个KILL信号,强制结束进程及其所有子进程,但不会执行任何清理操作,因此可能会导致数据丢失或其他问题。建议在必要时使用该命令,并尽可能避免使用它来结束进程。是您要结束的进程的进程ID。该命令会向指定的进程发送一个TERM信号,通知它退出,并同时向其所有子进程发送相同的信号,递归结束整个进程树。请注意,结束进程树可能会对正在运行的应用程序和系统造成影响,因此请谨慎使用该命令,并确保您已经了解了它的作用和风险。

ucas_v博客 1346

Claude Code 实战指南:从入门到高效编程

本文是一份Claude Code实战指南,旨在帮助开发者从入门到精通这款AI编程助手。文章详细讲解了如何通过清晰的指令公式与Claude Code高效沟通,并展示了如何将其深度集成到日常开发工作流中,例如理解陌生代码、调试和生成测试文档。指南还提供了避坑建议与最佳实践,并通过构建一个天气查询CLI工具的完整案例,演示了如何利用Claude Code加速开发进程,实现从设计到代码的高效人机协作。

weixin_28339967的博客 484

【Unix/Linux】【命令】【进程】终止进程 —— kill,killall命令

wget有以下功能和特点: (1)支持断点下传功能; (2)同时支持FTP和HTTP下载方式; (3)支持代理服务器; (4)设置方便简单; (5)程序小,完全免费; wget的基本语法是: wget 【参数列表】 【URL目标软件、网页的网址】 示例: 1、下载整个http或者ftp站点。 wget http://place.your.url/he

王晓斌的专栏 1万+

5G时代必知:LDPC与Polar码实战解析(附MATLAB仿真代码)

本文深入解析5G时代核心信道编码技术LDPC码与Polar码的原理差异及性能表现,通过MATLAB仿真代码展示其在实际通信系统中的应用。LDPC码适用于大数据块高速传输,而Polar码在小数据块低时延场景表现优异,帮助开发者优化5G系统设计。

sugar的博客 642

ESP32+HC-SR04超声波测距:5分钟搞定智能避障小车核心功能(附完整代码)

本文详细介绍了如何使用ESP32开发板和HC-SR04超声波测距模块快速构建智能避障小车的核心功能。通过优化的接线方案、核心代码实现及调试技巧,帮助开发者5分钟内完成硬件连接与软件编程,实现高效的避障功能。附完整代码,适合创客教育和机器人开发。

weixin_29185199的博客 384

UNIX环境下怎么查看、杀死进程

ps -ef|more kill 进程号

小小 2473

奥比中光Dabai深度相机SDK在Ubuntu22.04的兼容性安装指南

本文详细指导如何在Ubuntu22.04系统上安装奥比中光Dabai深度相机的SDK。针对新旧版本不兼容的核心问题,重点推荐使用经过验证的v1.10.18版本SDK,并提供了从系统依赖检查、SDK下载安装、Python环境配置到编译测试的完整步骤,帮助用户成功解决安装难题并实现相机驱动。

j2k3l4的博客 999

unix下的kill命令--强行终止oracle

在unix上被迫终止oracle的时候(比如oracle挂起无响应),必须执行以下的步骤 1.杀掉所有和oracle相关的进程 2.使用ipcs -pmb命令确定所有被占用的ram内存,然后使用ipcrm -m命令从unix中释放ram内存 3.使用ipcs -sa命令显示同步信号量,然后使用ipcrm -s命令为所有实例释放该同步信号量. 例: ps -ef | grep $ORACLE_SID

tesge的专栏 3710

InSAR_ISCE软件数据处理流程之:利用哨兵数据获取2015年尼泊尔地震同震形变场

ISCE软件数据处理流程之:利用哨兵数据获取2015年尼泊尔地震同震形变场 ISCE软件做干涉只需要将数据准备好,并配置好insarApp.xml文件即可进行。 一、数据准备 1、SAR数据获取 本利中使用的数据为欧空局提供的sentinel-1A/B数据,可从阿拉斯加数据服务器上下载,具体下载方法可参考: 哨兵数据下载方法. 2、哨兵卫星轨道文件下载 哨兵数据处理除了需要SAR影像外,还需提供轨道参数文件,可从https://qc.sentinel1.eo.esa.int/aux_poeorb/下载。下载

weixin_42128764的博客 1万+

MounRiver避坑实录:手把手迁移CH32V307 EVT工程到自定义目录

本文详细记录了将沁恒CH32V307的EVT工程迁移到自定义目录的完整流程与避坑指南。针对MounRiver Studio的虚拟链接机制,重点讲解了如何清理旧配置、重新设置头文件路径、链接脚本等关键步骤,帮助开发者创建独立、可维护的MCU项目工程。

uber9的博客 243

在Unix/Linux上批量杀进程的方法

如果对Unix命令熟就不难了,无非就是先把进程PS列出,然后过滤出进程号,然后以进程号为参数调用kill命令杀之。     ====================================== 第一种方法:   kill -9 `ps -ef | grep &lt;进程名&gt; | grep -v grep | awk '{print $2}'`   这种方法关键是要懂得...

听雨轩 366

UI自动化控制PC端微信获取当前群聊的群友列表

在一个月前,某个群友在获取整个群的群友信息时遇到了一点问题: 对整个群进行群友数据获取经测试确实有点棘手,下面我将我的解决过程公布给大家。 基础教程详见: https://blog.youkuaiyun.com/as604049322/article/details/121391639 人工打开要抓取的群聊窗口后,首先获取微信窗口并点击聊天信息按钮: import uiautomation as auto auto.uiautomation.SetGlobalSearchTimeout(1) wechatWind

小小明-代码实体的专栏 3万+

如何自动杀死UNIX僵死的进程

人保系统的计算机应用,已从单机运行方式过渡到以公司为中心的集中处理方式,各县级支公司通过广域网、远程telnet登录到市公司主机。由于网络的原因,有些进程会突然僵死。这些僵死的进程,会消耗系统大量的资源,直接影响机器的正常运行。为了实时地、自动地杀死这些僵死的进程,本人编写了 Shell程序Autokill。    Autokill程序脚本    #    # autokill    #    p

Arise P. Song-曾经的你(风) 1031

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

自动杀死UNIX僵死的进程 - 红联Linux门户 - 中国领先的Linux技术网站 - 网站导航 - Linux企业应用 - UniX技术文章...

自动杀死UNIX僵死的进程 - 红联Linux门户 - 中国领先的Linux技术网站 - 网站导航 - Linux企业应用 - UniX技术文章 自动杀死UNIX僵死的进程 - 红联Linux门户 - 中国领先的Linux技术网站 - 网站导航 - Linux企业应...

112

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

自动杀死UNIX僵死的进程(转)

自动杀死UNIX僵死的进程(转)[@more@]   人保系统的计算机应用,已从单机运行方式过渡到以公司为中心的集中处理方式,各县级支公司通过广域网、远程telnet登录到市公司主机。由于网络的原因,有些进程会突然僵死。这些僵死...

146

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IBM小型机日常维护命令

一:开机、关机命令 1、开机    1)在开机之前,先检查电源是否插好;然后,按下前面板上白色电源开关后,主机会进入硬件自检和引导阶段;       此时,前面板上的液晶会有代码跳动,每一个代码表示自检或引导的不同阶段,最后在引导结束时,前面板       液晶上的代码消失,彩显或终端上有显示,进入系统初始化和登录提示。如果主机停在某一代码上,引导不       下去 (大于半小时),说

觉醒即是转机,思变为时不晚。 1万+

UNIX下C语言编程与实践32-UNIX 僵死进程:成因、危害与检测方法

本文全面解析UNIX系统中僵死进程的核心知识。僵死进程是已终止但未从进程表中删除的进程,仅保留PID和退出状态信息,不占用CPU和内存资源。其产生主要因父进程未调用wait/waitpid回收子进程。文章通过实例演示如何创建和检测僵死进程(使用ps、top等命令),并分析其危害:占用进程表资源可能导致PID耗尽。最后澄清常见误解(如kill无法清除僵死进程),提出处理原则——预防为主、及时排查、合理清除,强调编写健壮父进程代码的重要性。理解这些知识有助于维护UNIX系统稳定性,避免因程序漏洞导致系统问题。

文石_2009的博客 1117

僵死进程和孤儿进程

环境:Vmware Workstation;CentOS-6.4-x86_64 程序要求: 编写一个孤儿进程,这个孤儿进程可以创建100个僵死进程。 分析: 1、首先在一个进程中fork,创建两个完全一样的进程。 2、退出父进程,使子进程成为孤儿进程。 3、在孤儿进程中循环创建进程,并结束孙子进程,使子进程成为僵死进程。 实现步骤: 1、创建并编辑源文件main.c

沫俱宏 539

Linux如何查找杀死僵死进程

用下面的命令找出僵死进程     ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'     命令注解:   -A 参数列出所有进程   -o 自定义输出字段我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数   因为状态为 z或者Z 的进程为僵尸进程,所以我们使用grep抓取

688

oracle操作系统 杀进程,【原】杀掉oracle僵死进程

你是否正在寻找关于僵死进程的内容?让我把最有价值的东西奉献给你:【原】杀掉oracle僵死进程作者:david_zhang@sh 【转载时请以超链接形式标明文章】链接:1.用oracle命令杀掉在Oracle中,可以通过kill session的方式来终止一个进程,其基本语法结构为:alter system kill session 'sid,serial#';•获得SID,SERIAL#sele...

weixin_42520573的博客 4049

linux 找出僵尸进程,linux 查看僵尸进程

top -b -i -n 1查看僵死进程命令ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'查看apache 当前进程数ps -ef | grep httpd | wc -l实时检测HTTPD连接数:watch -n 1 -d "pgrep httpd|wc -l"netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a ...

weixin_39920629的博客 1241

孤儿进程和僵尸进程的区别

一.产生的原因 一般进程 正常情况下:子进程由父进程创建,子进程再创建新的进程。父子进程是一个异步过程,父进程永远无法预测子进程的结束,所以,当子进程结束后,它的父进程会调用wait()或waitpid()取得子进程的终止状态,回收掉子进程的资源。 2)孤儿进程 孤儿进程:父进程结束了,而它的一个或多个子进程还在运行,那么这些子进程就成为孤儿进程(father died)。子进程的资源由ini...

a13568hki的博客 1万+

进程僵死

问题: 进程可以处于僵死状态,而在当前进程表中仍有记录?查看进程表,ps -aux   什么是进程僵死? 在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵死进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵死进程。补...

weixin_34409741的博客 190

Linux环境下僵死进程的产生及其避免

在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD/SIGCLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵死进程,无法正常结束,此时即使是root身份kill -9也不能杀死这类进程。补救办法是杀死僵尸进程的父进程(僵死进程的父进程必然存在),僵死进程成为"孤儿进程",过继给1号进程ini

不积跬步,无以致千里;不积小流,无以成江海 1176

oracle 僵死的进程,【原】杀掉oracle僵死进程

作者:david_zhang@sh 【转载时请以超链接形式标明文章】链接:http://www.cnblogs.com/david-zhang-index/archive/2012/03/01/2375466.html1.用oracle命令杀掉在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为:alter system kill session 'sid...

weixin_39864101的博客 487
上一篇: db2在存储过程中调用load并返回各种状态的条数
下一篇: AIX 日常维护
zero_plus
博客等级 码龄16年 48粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值