linux – 如何检测脚本是否在虚拟机上运行?

linux – 如何检测脚本是否在虚拟机上运行?,第1张

概述我不认为这个问题需要任何解释. 我正在编写一个可以启动虚拟机来模拟网络的软件.如果软件已在虚拟机上运行,​​我想禁用此功能. 我已经读过这篇文章了:How to detect if my application is running in a virtual machine? 但是我需要在Linux上做这个,而那篇文章只涉及Windows. 我正在将其标记为Perl问题,因为我要在Perl中执行此 我不认为这个问题需要任何解释.
我正在编写一个可以启动虚拟机来模拟网络的软件.如果软件已在虚拟机上运行,​​我想禁用此功能.

我已经读过这篇文章了:How to detect if my application is running in a virtual machine?
但是我需要在linux上做这个,而那篇文章只涉及windows.

我正在将其标记为Perl问题,因为我要在Perl中执行此 *** 作,但可能在proc或其他地方有一些文件要检查,并且对于所有语言都是相同的.我其实不知道.

我有兴趣主要检测VirtualBox和KVM,因为那些是我正在使用的VM.

那么,有什么建议吗?

解决方法 我将特别讨论运行linux作为客户 *** 作系统的VMware和虚拟Box虚拟机.
如果您运行以下命令,您将了解底层硬件是VMware / VirtualBox,它证明它是虚拟机.

对于VMware客户:

# dmIDecode  | grep -i product        Product name: VMware Virtual Platform

对于Virtual Box客户:

# dmIDecode  | grep -i product    Product name: VirtualBox

“dmIDecode”是一个linux系统命令.您可以在脚本的开头使用perl run dmIDecode并提取值.如果它是虚拟机,则脚本应该退出而不进一步执行.

我没有任何其他虚拟机管理程序可以让你获得上面的命令返回它们.

希望这可以帮助.

总结

以上是内存溢出为你收集整理的linux – 如何检测脚本是否在虚拟机上运行?全部内容,希望文章能够帮你解决linux – 如何检测脚本是否在虚拟机上运行?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1039737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存