我需要从下面的代码中搜索字符串“-Xms”:
cat | ps -eaf|grep $LOGNAME | while read LINE
do
if [[ grep LINE = "-Xms" ]]; then
pid=$(echo $LINE | awk '{print $2}')
#echo $pid
kill -9 $pid
fi
:
done
但是这段代码在AIX上不起作用。它在Linux上运行良好。
请帮忙。
答案 0 :(得分:0)
我在脚本中做了一些小改动,就像创建一个用于存储grep返回的变量一样。 试试这个
ps -aef|grep $LOGNAME | while read LINE
do
PAT=`grep "\-Xms" $LINE`
if [ "$PAT" != "" ]; then
pid=$(echo $LINE | awk '{print $2}')
#echo $pid
#kill -9 $pid
fi
done
答案 1 :(得分:0)
我没有测试过。 您的完整循环可以替换为:
ps -eaf | grep $LOGNAME| grep "-Xms"|awk '{print $2}'|xargs kill -9
来搜索子字符串:
cat | ps -eaf|grep $LOGNAME |grep "-Xms" while read LINE
do
pid=$(echo $LINE | awk '{print $2}')
kill -9 $pid
done