我一直有通宵下东西的习惯,可又不忍心让笔记本下载完成后一直等到我睡醒,所以我经常用迅雷给我们提供的下载完成后自动关机这个功能。
然而现在迅雷运行在了虚拟机里面,这就郁闷了,即使自动关机也只能关掉一个虚拟机的进程,无奈我想到可不可以用shell程序来监测虚拟机的进程,当他关闭后就运行关机的命令,经过测试,果然成功了,具体代码如下:
Code
#!/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停止当前任务,再进行其他操作,怎么样,挺好使的
--------------------------
09博客园纪念T恤新闻:
中国联通:国际通讯已恢复至震前水平网站导航:
博客园首页 个人主页 新闻 社区 博问 闪存 找找看文章来源:
http://www.cnblogs.com/xiaoao808/archive/2008/08/21/1273554.html
posted on 2008-08-21 22:25
破名超难起 阅读(506)
评论(0) 编辑 收藏