分页: 1 / 1

如何编写一个shell让系统任务完成时自动关机?

发表于 : 2009-02-15 0:35
jxxfpw
我说详细点, 我正在更新系统的软件,由于很长时间没有更新了,所以需要好几个小时, 但是这么晚了,想先睡, 可以啊, 可以用shudown命令设定自动关机的时间, 这个行,但是我想更精确点, 也就是说,我想让系统更新软件这个任务结束后就自动关机, 不知如何做, 想必可能要写shell脚本才行, 但是这个还不会, 寻思就到这里寻点帮助。

那位大兄指点指点小弟! 谢谢先!

Re: 如何编写一个shell让系统任务完成时自动关机?

发表于 : 2009-02-15 2:58
mghohoo
文件autoshut.sh

代码: 全选

echo "please input the name of the process monitored\n"
read p
while [`ps aux|grep "$p"` = "" ] 
do
sleep 10
done
echo "shutdown in 1 minute\n"
sleep 60
shutdown -h
chmod +x autoshut.sh
sudo su
./autoshut.sh

十秒检查一次是否存在改进程,存在则继续检查,计时,否则提示并且计时60秒,关机

中断就是ctrl+c咯,不在linux且对bash不熟,试试是否ok

Re: 如何编写一个shell让系统任务完成时自动关机?

发表于 : 2009-02-15 18:19
xxzjgrj
谢谢,辛苦了。

Re: 如何编写一个shell让系统任务完成时自动关机?

发表于 : 2009-02-15 18:26
xiooli
直接sudo sh -c "你的工作;shutdowm -h now"

Re: 如何编写一个shell让系统任务完成时自动关机?

发表于 : 2010-06-30 18:05
jxxfpw
mghohoo 写了:文件autoshut.sh

代码: 全选

echo "please input the name of the process monitored\n"
read p
while [`ps aux|grep "$p"` = "" ] 
do
sleep 10
done
echo "shutdown in 1 minute\n"
sleep 60
shutdown -h
chmod +x autoshut.sh
sudo su
./autoshut.sh

十秒检查一次是否存在改进程,存在则继续检查,计时,否则提示并且计时60秒,关机

中断就是ctrl+c咯,不在linux且对bash不熟,试试是否ok
非常感谢指点,迟到的感谢,呵呵! :em03

Re: 如何编写一个shell让系统任务完成时自动关机?

发表于 : 2010-06-30 22:26
beruchtigte
xxxx && /sbin/halt

Re: 如何编写一个shell让系统任务完成时自动关机?

发表于 : 2010-07-01 9:22
HuaChong
beruchtigte 写了:xxxx && /sbin/halt
我的答案跟这位相似,若是更新的话直接在root下执行

代码: 全选

apt-get update &&apt-get upgrade&&halt

Re: 如何编写一个shell让系统任务完成时自动关机?

发表于 : 2010-07-01 16:27
wudaown
为什么不要试试看 echo $? 上次如果返回为0也就是完成然后shutdown ....

Re: 如何编写一个shell让系统任务完成时自动关机?

发表于 : 2010-07-15 19:15
kokerjie
mghohoo 写了:文件autoshut.sh

代码: 全选

echo "please input the name of the process monitored\n"
read p
while [`ps aux|grep "$p"` = "" ] 
do
sleep 10
done
echo "shutdown in 1 minute\n"
sleep 60
shutdown -h
chmod +x autoshut.sh
sudo su
./autoshut.sh

十秒检查一次是否存在改进程,存在则继续检查,计时,否则提示并且计时60秒,关机

中断就是ctrl+c咯,不在linux且对bash不熟,试试是否ok



有问题,有问题!!!!!!!!!!!!
用while 是指当条件成立时才执行.......
这个程序是否在条件里面加个非或者改用until????????

Re: 如何编写一个shell让系统任务完成时自动关机?

发表于 : 2016-01-22 1:17
king192
kokerjie 写了:
mghohoo 写了:文件autoshut.sh

代码: 全选

echo "please input the name of the process monitored\n"
read p
while [`ps aux|grep "$p"` = "" ] 
do
sleep 10
done
echo "shutdown in 1 minute\n"
sleep 60
shutdown -h
chmod +x autoshut.sh
sudo su
./autoshut.sh

十秒检查一次是否存在改进程,存在则继续检查,计时,否则提示并且计时60秒,关机

中断就是ctrl+c咯,不在linux且对bash不熟,试试是否ok



有问题,有问题!!!!!!!!!!!!
用while 是指当条件成立时才执行.......
这个程序是否在条件里面加个非或者改用until????????
那如果是grep程序本身呢?