bash脚本杀死php进程早一个小时

时间:2012-10-07 03:17:11

标签: linux bash awk grep kill-process

我有以下内容:

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

它的作用是杀死被fcgid遗弃的进程并将其杀死以释放RAM。我想每小时将它作为一个cron运行,但是想要杀掉一小时以前的进程。我只是不确定如何修改脚本来做到这一点。

2 个答案:

答案 0 :(得分:7)

尝试以下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

答案 1 :(得分:-1)

解决:

/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