您的位置:首页 > 运维架构 > Shell

shell编程-迅雷下载完成后自动关机

2009-08-26 16:50 232 查看
我一直有通宵下东西的习惯,可又不忍心让笔记本下载完成后一直等到我睡醒,所以我经常用迅雷给我们提供的下载完成后自动关机这个功能。

然而现在迅雷运行在了虚拟机里面,这就郁闷了,即使自动关机也只能关掉一个虚拟机的进程,无奈我想到可不可以用shell程序来监测虚拟机的进程,当他关闭后就运行关机的命令,经过测试,果然成功了,具体代码如下:
#!/bin/bash
while [ `pidof -s $1` ]
do
sleep 2 #&& echo "ok"
done
date
echo "Done..shuting down in 60 seconds." && sleep 60
shutdown -h -P now


将代码保存在shutdown.sh文件中

使用起来也很方便,用"ps ux"找到vbox运行的进程,将其对应的time command值作为参数输入进来,例如我的是:

lichao 10659 91.7 52.0 1224284 1079860 ? Sl 21:49 11:01 /opt/VirtualBox-1.6.4/VirtualBox -comment winxp -startvm 5e04c66f-82f7-4df0-0f92-8b9113be6f2

则执行上述脚本文件:

./ shutdown.sh /opt/VirtualBox-1.6.4/VirtualBox -comment winxp -startvm 5e04c66f-82f7-4df0-0f92-8b9113be6f2

监测开始

当虚拟机关机后命令行出现如下提示:

Done..shuting down in 60 seconds.

60秒后就会关机拉,如果你还不想关机,可以Ctrl+Alt+C停止当前任务,再进行其他操作,怎么样,挺好使的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: