我一直有通宵下东西的习惯,可又不忍心让笔记本下载完成后一直等到我睡醒,所以我经常用迅雷给我们提供的下载完成后自动关机这个功能。
然而现在迅雷运行在了虚拟机里面,这就郁闷了,即使自动关机也只能关掉一个虚拟机的进程,无奈我想到可不可以用shell程序来监测虚拟机的进程,当他关闭后就运行关机的命令,经过测试,果然成功了,具体代码如下:
Code
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->#!/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停止当前任务,再进行其他操作,怎么样,挺好使的
分享到:
相关推荐
Shell编程就是利用shell的命令行界面编写脚本,实现自动化任务执行。它结合了基本的命令和控制结构,如循环、条件语句和函数,能够大大提高工作效率。例如,你可以用shell脚本来备份文件、管理系统用户或者定期运行...
11.1 Shell编程-正则表达式.mp4 11.2.1 Shell编程-字符截取命令-cut命令.mp4 11.2.2 Shell编程-字符截取命令-printf命令.mp4 11.2.3 Shell编程-字符截取命令-awk命令.mp4 11.2.4 Shell编程-字符截取命令-sed命令...
Linux运维-3.Shell编程-12 shell编程-150exit语句.avi
Linux运维-3.Shell编程-12 shell编程-148while循环.avi
Linux运维-3.Shell编程-12 shell编程-149until循环.avi
Linux运维-3.Shell编程-12 shell编程-151break语句和continue语句.avi
Linux运维-3.Shell编程-12 shell编程-142case语句.avi
Linux运维-3.Shell编程-12 shell编程-125扩展正则.avi
Linux运维-3.Shell编程-12 shell编程-126正则实例.avi
Linux运维-3.Shell编程-12 shell编程-146for循环之批量添加用户.avi
Linux运维-3.Shell编程-12 shell编程-137if语句1.avi
Linux运维-3.Shell编程-12 shell编程-136条件判断3.avi
Linux运维-3.Shell编程-12 shell编程-134条件判断1.avi
Linux运维-3.Shell编程-12 shell编程-135条件判断2.avi
Linux运维-3.Shell编程-12 shell编程-143for循环之语法.avi
Linux运维-3.Shell编程-12 shell编程-140多分支if语句.avi
Linux运维-3.Shell编程-12 shell编程-139双分支if语句2.avi
Linux运维-3.Shell编程-12 shell编程-138双分支if语句1.avi
Linux运维-3.Shell编程-12 shell编程-127字符串处理之cut.avi
Linux运维-3.Shell编程-12 shell编程-128字符串处理之printf.avi