虚拟机关机问题关机后自动关闭宿主机

发布时间:2019-12-26编辑:脚本学堂
有关虚拟主机关机后如何自动关闭宿主机的方法,shutdown命令实现定时关机任务,让系统在某些后台进程结束后再自动关机,可以使用watch命令,需要的朋友参考下。

linux中,shutdown命令实现定时关机任务,如何让系统在某些后台进程结束后再自动关机,可以这样:
watch 'ps -p 2421 || shutdown -h now && exit'
其中,2421为要等待的进程ID,使用watch命令就可以每隔2秒执行引号中的命令,这比使用crontab要简单。

而在windows中,实现进程结束后关机,可以将命令写处.bat文件执行:
 

复制代码 代码示例:
@echo off
:LOOP1
TASKLIST /FI "PID eq 2421"|findstr 2421
if %errorlevel% NEQ 0 (
    shutdown /s
    pause
)
ping 127.0.0.1 -n 3 -w 1000 > nul
goto LOOP1
 

其中,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"进程的进程号后,按照以上方法即可实现。