我需要在虚拟机上运行一些远程命令来进行testing。 但机器启动需要花费很长时间。 我不想用一个任意长的睡眠等着和它说话。 那么我怎样才能远程知道什么时候启动完成 ?
这个VM运行在哪个虚拟机pipe理程序上?
如果是VMware,则可以使用PowerCLI cmdlet编写powershell脚本: Wait-Tools
https://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/Wait-Tools.html
这将暂停处理,直到VM回应vmware-tools正在运行。 通常情况下,您可以假定在这一点上大部分function都可用。 为了更加确定,可以在满足这个条件之后添加定时sleep 。
如果你依赖于潜在的服务,你可以(像EEAA提到的那样)编写一个while循环来检查一个条件是否为真(例如某些服务正在运行),然后再跳出循环。