分页: 1 / 1
ps -e|grep axel > /dev/null
发表于 : 2012-11-11 0:02
由 auv1107
while true
do
ps -e|grep axel > /dev/null
if [ $? == 1]
then
shutdown -h now
fi
done
axel是我的一个下载进程,我用这个脚本来自动关机。
想着shutdown后程序自然就结束了,也没管while的事。可是关机时屏幕一直卡在字符界面不动了。最后只好强制关闭。
现在躺在床上,我就在想到底是不是shutdown被多次执行的原因。
大家有什么看法?
Sent from my M9 using Tapatalk
Re: ps -e|grep axel > /dev/null
发表于 : 2012-11-11 10:50
由 132811
[ $? == 1]
1后面怎么没有空格?
应该是axel没有结束吧!加入sleep和break吧!
代码: 全选
while true
do
ps -e|grep axel > /dev/null
if [ $? == 1 ]
then
echo 'shutdown now!'
#shutdown -h now
break
else
echo 'sleep 1'
sleep 1
fi
done
Re: ps -e|grep axel > /dev/null
发表于 : 2012-11-11 11:42
由 funicorn
代码: 全选
while true
do
sleep 10
pgrep axel > /dev/null || break
done
shutdown -h now
Re: ps -e|grep axel > /dev/null
发表于 : 2012-11-11 17:49
由 niejieqiang
用halt 关机

Re: ps -e|grep axel > /dev/null
发表于 : 2012-11-11 17:51
由 eexpress
你不如axel xxxx; echo xxx|sudo -S poweroff
何必写这么复杂,判断啥进程。
Re: ps -e|grep axel > /dev/null
发表于 : 2012-11-12 8:42
由 auv1107
132811 写了:[ $? == 1]
1后面怎么没有空格?
应该是axel没有结束吧!加入sleep和break吧!
代码: 全选
while true
do
ps -e|grep axel > /dev/null
if [ $? == 1 ]
then
echo 'shutdown now!'
#shutdown -h now
break
else
echo 'sleep 1'
sleep 1
fi
done
呃
我好像没有表达清楚, 程序正常执行并自动关机了。 但是,关机时卡在某屏不动了。就像12.04里经常出现的关不掉机的那种情况。
Re: ps -e|grep axel > /dev/null
发表于 : 2012-11-12 23:31
由 q_yangguangyouzi
以前用halt,会出现上述情况,后用poweroff很顺利。
Re: ps -e|grep axel > /dev/null
发表于 : 2012-11-16 23:01
由 132811
那你直接输入关机命令也会卡屏吗?
查下日志呗。
Re: ps -e|grep axel > /dev/null
发表于 : 2012-11-20 14:17
由 Methuselar
好奇怪的需求... 需要判断返回值的用&& 或者 || ; 不需要的像阿姨那样;都可以,何必呢...