是否有任何可移植的方法或库来检查Python脚本是否在虚拟化操作系统上运行,以及它运行的是哪个虚拟化平台。
此Detect virtualized OS from an application?个问题讨论了c版本。
答案 0 :(得分:4)
我认为你在python中调用linux命令virt-what
。
virt-what
的说明位于:http://people.redhat.com/~rjones/virt-what/
答案 1 :(得分:0)
据我所知,没有一种好的,可移植的方法可以从Python中解决这个问题。大多数时候,人们试图弄清楚他们是否被虚拟化的方式正在寻找虚拟机留下的线索 - 要么某些指令不正确,要么某些行为已经关闭。
然而,如果你愿意离开盒子,一切都可能不会丢失。当您在VM中时,您几乎永远不会拥有完美的原生性能。因此,如果您对您信任的服务器进行了足够的测量,那么可能会检测您是否在VM中。如果您在具有多台计算机的计算机上运行,情况尤其如此。检查您自己的时间,计划的时间以及已经过了多长时间(基于外部测量,因为您无法信任本地计算机)。如果你能看到在本地机器上花了多少时间而不是仅仅在一个过程中,你可能会有更好的运气。