当前位置: 技术问答>linux和unix
请问;下面这个脚本怎么老是不能正确执行啊?
来源: 互联网 发布时间:2016-03-04
本文导语: #!/bash/bin while ( ps -ef | grep "p1" | awk '{xpid=$2;print $2}' ) do kill -9 $xpid echo "kill process $xpid" done while ( ps -ef | grep "p2" | awk '{xpid=$2;print $2}' ) do kill -9 $xpid ec...
#!/bash/bin
while ( ps -ef | grep "p1" | awk '{xpid=$2;print $2}' )
do
kill -9 $xpid
echo "kill process $xpid"
done
while ( ps -ef | grep "p2" | awk '{xpid=$2;print $2}' )
do
kill -9 $xpid
echo "kill process $xpid"
done
while ( ps -ef | grep "p3" | awk '{xpid=$2;print $2}' )
do
kill -9 $xpid
echo "kill process $xpid"
done
发现总是不是把p1, p2 , p3全删除啊?
while ( ps -ef | grep "p1" | awk '{xpid=$2;print $2}' )
do
kill -9 $xpid
echo "kill process $xpid"
done
while ( ps -ef | grep "p2" | awk '{xpid=$2;print $2}' )
do
kill -9 $xpid
echo "kill process $xpid"
done
while ( ps -ef | grep "p3" | awk '{xpid=$2;print $2}' )
do
kill -9 $xpid
echo "kill process $xpid"
done
发现总是不是把p1, p2 , p3全删除啊?
|
xpid=`ps -ef | grep "p1" | grep -v "grep" | awk '{print $2}'`
kill $xpid
echo "killall $xpid"
这样就可以了
xpid 生存期的问题 , 出了awk xpid 就是另外一个变量了
kill $xpid
echo "killall $xpid"
这样就可以了
xpid 生存期的问题 , 出了awk xpid 就是另外一个变量了
|
ps -ef ¦ grep "p1" ¦ awk '{xpid=$2;print $2}'
改成
ps -ef ¦ grep "p1" ¦ grep -v "grep" | awk '{xpid=$2;print $2}'
就好了, 因为 的 grep "p1" 有个 "p1" , 结果
ps -ef ¦ grep "p1" 选出来的是两个结果
另外两个一样
改成
ps -ef ¦ grep "p1" ¦ grep -v "grep" | awk '{xpid=$2;print $2}'
就好了, 因为 的 grep "p1" 有个 "p1" , 结果
ps -ef ¦ grep "p1" 选出来的是两个结果
另外两个一样
|
支持楼上的