我一直在尝试列出特定端口上超过 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
关于shell - 按端口查找进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42118992/