Ama*_*ith 2 linux bash awk grep kill-process
我有以下内容:
kill -9 `ps aux | grep php | awk '$9 !~ /[0-9]:[0-9]/' | awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)
它的作用是杀死fcgid遗弃的进程并将其杀死以释放RAM.我想每小时将它作为一个cron运行,但是想要杀掉一小时以前的进程.我只是不确定如何修改脚本来做到这一点.
请尝试以下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
Run Code Online (Sandbox Code Playgroud)
和crontab:
crontab -e
0 * * * * /path/to/the/script.bash
Run Code Online (Sandbox Code Playgroud)