shell 判断进程是否存在,大家帮忙看看。解决方案
shell 判断进程是否存在,大家帮忙看看。。
我又一个用C写的代码,通过.sh文件来调用,在调用前判断进程中是否存在,存在则等待,
while :
do
pro=$(ps -ef |grep "mypro" |grep -v "grep")
echo $pro
if [ "$pro" ] ; then
sleep 20
else
break
fi
done
# mypro是我得C语言代码的
# 调用C写的文件省略。。。。
网上找了个这样的例子,
现在的情况是,无论进程并不存在mypro(我没在跑), 都会进sleep 20 这个分支,怎么会这样,求高手指教
还有可能是版本的原因,不支持pgrep的命令,所以这种解决办法,不是我想要的,
谢谢!
------解决方案--------------------
Learning.the.bash.Shell.3rd.Edition.chm
------解决方案--------------------
sh的名字与c程序的相同 这个是问题所在。
------解决方案--------------------
直接这样试试
if ps -ef |grep "mypro" |grep -v "grep"
then
echo "here"
fi
我又一个用C写的代码,通过.sh文件来调用,在调用前判断进程中是否存在,存在则等待,
while :
do
pro=$(ps -ef |grep "mypro" |grep -v "grep")
echo $pro
if [ "$pro" ] ; then
sleep 20
else
break
fi
done
# mypro是我得C语言代码的
# 调用C写的文件省略。。。。
网上找了个这样的例子,
现在的情况是,无论进程并不存在mypro(我没在跑), 都会进sleep 20 这个分支,怎么会这样,求高手指教
还有可能是版本的原因,不支持pgrep的命令,所以这种解决办法,不是我想要的,
谢谢!
------解决方案--------------------
Learning.the.bash.Shell.3rd.Edition.chm
------解决方案--------------------
sh的名字与c程序的相同 这个是问题所在。
------解决方案--------------------
直接这样试试
if ps -ef |grep "mypro" |grep -v "grep"
then
echo "here"
fi