【发布时间】:2016-09-29 23:24:30
【问题描述】:
我正在使用下面的脚本来查找和终止进程,但它以某种方式无法正常工作。 如果有任何缺陷,请帮助编辑。我正在寻找 JVM。使用 AIX 机器。
PID=`ps -eaf | grep JVM| grep -v grep | awk '{print $2}'`
if [[ "" != "$PID" ]]
then
echo "killing $PID"
kill $PID
else
echo "PID not found"
fi
【问题讨论】:
-
if最好写成if [[ "x" != "x$PID" ]],这样可以确保!=用于字符串比较(作为奖励,它还可以确保在不同的shell 上正确处理空的grep查询)。 -
代码看起来基本正确 - 您可以详细说明“shomehow 无法正常工作”的含义,但我们将假设该进程在杀死后幸存下来。如果 Neil Ellis 的回答对您没有帮助,您将不得不解释更多。 - 从 ps 输出 grepping 修复字符串时我所做的就像
ps -eaf | grep '[J]VM'.. 不需要grep -v grep因为 grep 命令与正则表达式不匹配
标签: bash shell unix process aix