kill杀掉超过24小时的进程

kill杀掉超过24小时的进程

#!/bin/bash
function check_time()
        {
        time_subroutine=$(getconf CLK_TCK)
        start_time=$(awk '{print $22}' /proc/$1/stat)
        sys_uptime=$(awk '{print $1}' /proc/uptime)
        pid_uptime=$((${sys_uptime%.*} - ${start_time}/${time_subroutine}))
        if [ ${pid_uptime} -ge 86400 ];then
                kill  $1
        fi
        }
for pid in `ps -A | grep "chromedriver"|awk '{print $1}'`
do
        check_time $pid
done

只保留最近十个进程

ps aux --sort=-start_time  | grep TestTask | tail -n +11 | awk '{print $2}' | xargs kill -9
--sort=-start_time  //按照进程开始时间由近到远排序
grep TestTask  //筛选指定的进程
tail -n +11  //由第十一个进程开始取值,即保留最近的十个进程
awk '{print $2}'  //输出pid
xargs kill -9  //批量传参、kill掉进程

 

posted @ 2020-12-08 16:07  一只小白龙  阅读(164)  评论(0编辑  收藏  举报