在linux中,shutdown命令实现定时关机任务,如何让系统在某些后台进程结束后再自动关机,可以这样:
watch 'ps -p 2421 || shutdown -h now && exit'
其中,2421为要等待的进程ID,使用watch命令就可以每隔2秒执行引号中的命令,这比使用crontab要简单。
而在windows中,实现进程结束后关机,可以将命令写处.bat文件执行:
其中,ping 127.0.0.1 -n 2 -w 1000 > nul是用于延时2秒,相当于Linux中的sleep 2命令。
在虚拟机中执行的后台任务耗时较久,想在任务执行完毕后关闭虚拟机(Linux)和宿主机(windows)。
这种情况下,首先,在Linux使用上文的命令设置任务完成后自动关机;
然后,需要设置自动关闭windows,以VMware Workstation 9.0为例,在虚拟机对应的本地进程是"vmware-vmx.exe",虚拟机关机完成后,该进程也结束。
因此,只需要使用任务管理器或tasklist命令确定"vmware-vmx.exe"进程的进程号后,按照以上方法即可实现。