bash脚本杀PHP程序旧的然后一小时(bash script to kill php proces

2019-09-23 15:21发布

我有以下几点:

kill -9 `ps aux | grep php | awk '$9 !~ /[0-9]:[0-9]/' | awk '{print $2}'`

它的作用是杀死已离开遗弃fcgid并杀死他们免费RAM的过程。 我想运行此作为cron每隔一小时,但想干掉旧的然后一个小时的过程。 我只是不知道如何修改脚本来做到这一点。

Answer 1:

请尝试以下的bash代码:

for i in $(pidof php); do
    pidtime=$(stat -c '%Y' /proc/$i)
    now=$(date +%s)
    ((now - pidtime >= 3600)) && { kill $i; sleep 1; kill &>/dev/null -9 $i; }
done

而在crontab:

crontab -e
0 * * * * /path/to/the/script.bash


Answer 2:

解决了:

/bin/ps -Ao"command,pid,ppid"|/bin/grep ' 1$'|/bin/grep /php|/bin/awk '{ print $2; }'|/usr/bin/xargs --no-run-if-empty kill -9


文章来源: bash script to kill php process older then an hour