在linux虚拟机里跑任务,可以在sh脚本里把命令一个个按顺序先写好后,把关机命令power off放在最后。这样可以当任务结束后虚拟机自动关机。但这样无法设置虚拟机外部的windows主机关机。
这里写了一个bat脚本,可以对运行的虚拟机程序进行定时监测,如果虚拟机程序结束了,就进行关机命令。
脚本autoshutdown.bat内容如下:
@echo off set _task = vmware-vmx.exe :checkService choice /t 30 /d y /n >nul tasklist|find /i "vmware-vmx.exe" if %errorlevel%==0 ( echo. program % _task% is running. call:checkMessage ) else ( echo. program % _task% is over. call:poweroffService ) :checkMessage echo %time% 程序运行正常,20秒后继续检查.. >> C:\Users\ff\Desktop\autoshutdownlog.txt call:checkService :poweroffService echo %time% echo ********PC will be power off after 1 min******** echo The last time of PC shutdown is %time% >> C:\Users\ff\Desktop\autoshutdownlog.txt shutdown /s /f /t 60 cls exit
这里用set命令将监测的程序vmware-vmx.exe定义为变量_task。
建立了3个自定义函数:checkService,:checkMessage,:poweroffService。
在:checkService函数里,用choice命令设置了等待时间30秒,30秒后运行后面的tasklist命令在运行的任务中查找任务vmware-vmx.exe。如果任务存在,变量errorlevel返回0,如果不存在errorlevel变量返回1。基于此建立if和else语句。
用:checkMessage将内容记录到日志文件中,用call命令返回到函数:checkService里继续监测。
最后如果任务vmware-vmx.exe结束,用call命令调用:poweroffService函数运行shutdown命令进行主机关机。
参考:
Bat 脚本实现监控进程功能-CSDN博客
猜你喜欢
- 6天前Unity 编辑器篇|(五)编辑器拓展GUILayout类 (全面总结 | 建议收藏)
- 6天前助力实体店数字化升级,VR智慧门店打造线上逛店体验
- 6天前ai电销机器人的优势
- 6天前100天精通鸿蒙从入门到跳槽——第4天:TypeScript 知识储备:变量声明
- 6天前【.NET】.NET 框架概述
- 6天前java.net.UnknownHostException: nacos-payment-provider] with root cause
- 6天前9.2.6:SpreadsheetGear Engine for .NET Crack
- 6天前Kotlin MultiPlatform:构建跨平台应用的未来
- 6天前【Spring连载】使用Spring访问 Apache Kafka(十九)----Apache Kafka Streams支持
- 6天前一次Rust重写基础软件的实践(三)
网友评论
- 搜索
- 最新文章
- 热门文章