linux下通过定时任务清理卡死的进程

前言

今天收到消息说服务器一直被卡死,原因是由于大量转pdf的进程执行后一直没有自动关闭导致的。所以,为了解决动不动卡死的问题,决定弄一个定时任务,定时自动清理卡死的特定进程。

实现步骤
1、首先新建killprocess.sh脚本,脚本内容为查找对应的卡死进程并查杀
#!/bin/sh
#判断是否输入参数,如果没有,则提示,并结束脚本
if [ ! -n "$1" ] ;then
     echo "请输入参数(需要查杀的进程名,允许模糊查询)"
     exit 1
 else
     echo "需要查杀的进程名为: $1"
 fi
#查找对应的进程并查杀
NAME=$1
echo $NAME
ID=`ps aux | grep "$NAME" | grep -v grep | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do

kill -9 $id
echo "killed $id"
done
echo "---------------"

如果需要先自行测试,可以注释kill命令,控制台打印结果,执行脚本命令为:

bash killprocess.sh
2、root用户下,给文件赋予可执行权限
chmod -R 777 killprocess.sh
3、在/etc/crontab文件最后添加定时任务
*/5 * * * * root ./data/back_up/killprocess.sh
4、最后重启crontab服务让新配置的定时任务生效
service crond restart
常见定时任务
每五分钟执行   */5 * * * *

每小时执行     0 * * * *

每天执行       0 0 * * *

每周执行       0 0 * * 0

每月执行       0 0 1 * *

每年执行       0 0 1 1 *
参考资料

https://www.jb51.net/article/101569.htm

https://blog.csdn.net/ys5773477/article/details/53769029

补充一下查询卡死的僵尸进程命令
ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值