【发布时间】:2017-02-09 20:26:27
【问题描述】:
我一直在尝试列出特定端口上超过 8 分钟的 PID。
for each in $(find /proc -maxdepth 1 -user root -mmin +8 -exec basename {} \;); do echo $each; done
我当前的代码将转储所有超过 8 分钟的进程,但我在 find 中找不到任何有关端口标志的文档。任何想法将不胜感激。
【问题讨论】:
我一直在尝试列出特定端口上超过 8 分钟的 PID。
for each in $(find /proc -maxdepth 1 -user root -mmin +8 -exec basename {} \;); do echo $each; done
我当前的代码将转储所有超过 8 分钟的进程,但我在 find 中找不到任何有关端口标志的文档。任何想法将不胜感激。
【问题讨论】:
我从不同的方向解决了这个问题,并提出了以下建议:
for i in $(pgrep -f "server.php"); do
pidtime=$(stat -c '%Y' /proc/$i)
now=$(date +%s)
((now - pidtime >= 6)) && {
kill $i;
sleep 1;
kill &>/dev/null -9 $i;
}
done
【讨论】: