请教怎么判断程序是否运行在虚拟机中

作者&投稿:赧沫 (若有异议请与网页底部的电邮联系)
如何判断一个程序,是否当前运行在虚拟机中,而不是我~

vmware和virtualbox的硬件都差不多,intel piix的ide控制器,buslogic或lsilogic的scsi控制器,intel e1000或amd pcnet的网卡
当然上面的那些都可能误报,因为真机器也可能用
最准确的使用显卡和硬盘名,vmware里他们的品牌都是vmware
不同的虚拟机检测方法不同!

直接检查 /proc 下的相关目录和文件就可以知道,比如 OpenVZ VPS
上会有 /proc/vz 这个文件;Xen PV 虚拟机上会有 /proc/xen/ 这个目录,并且目录下有一些东西;UML 上打印
/proc/cpuinfo 会找到 UML 标志。写了一个简单的 Python 脚本来检测:
#!/usr/bin/python
# check if a linux system running on a virtual machine (openvz/xen pv/uml)
# written by http://www.vpsee.com

import sys, os

def main():
if os.getuid() != 0:
print "must be run as root"
sys.exit(0)

# check OpenVZ/Virtuozzo
if os.path.exists("/proc/vz"):
if not os.path.exists("/proc/bc"):
print "openvz container"
else:
print "openvz node"

# check Xen
if os.path.exists("/proc/xen/capabilities"):
if (os.path.getsize("/proc/xen/capabilities") > 0):
print "xen dom0"
else:
print "xen domU"

# check User Mode Linux (UML)
f = open("/proc/cpuinfo", "r"); t = f.read(); f.close()
if (t.find("UML") > 0):
print "uml"

if __name__=="__main__":
main()

vmware和virtualbox的硬件都差不多,intel piix的ide控制器,buslogic或lsilogic的scsi控制器,intel e1000或amd pcnet的网卡
当然上面的那些都可能误报,因为真机器也可能用
最准确的使用显卡和硬盘名,vmware里他们的品牌都是vmware
不同的虚拟机检测方法不同!

易语言程序如何判断是否在虚拟机运行
答:.如果 (检测虚拟机 () = 真)信息框 (“程序禁止在虚拟机中运行”, 0, “提示”).否则 信息框 (“程序物理机中运行”, 0, “提示”).如果结束

ce怎么检测虚拟机程序
答:ce检测虚拟机程序方法如下:1、检测虚拟机的硬件配置信息,例如查看CPU、内存等信息,如果信息显示为虚拟硬件,则说明当前程序运行在虚拟机中。2、检测某些特定的虚拟化指示标志(VirtualizationIndicatorFlags),例如IntelVT-x和AMD-V等,来判断当前程序是否运行在虚拟机中。3、检测某些虚拟机运行时的API函...

判断程序是否在VMWare内运行
答:判断程序是否在VMWare虚拟机内,可以用以下代码来完成:function IsRunInVMWare(out ErrMsg: string): Boolean;beginResult := False;tryasmpush edxpush ecxpush ebxmov eax, 'VMXh'mov ecx, $0Amov edx, 'VX'in eax, dxcmp ebx, 'VMXh'setz [Result]pop ebx...

请教怎么判断程序是否运行在虚拟机中
答:vmware和virtualbox的硬件都差不多,intel piix的ide控制器,buslogic或lsilogic的scsi控制器,intel e1000或amd pcnet的网卡 当然上面的那些都可能误报,因为真机器也可能用 最准确的使用显卡和硬盘名,vmware里他们的品牌都是vmware 不同的虚拟机检测方法不同!

程序会知道自己运行在虚拟机里吗?
答:会,有些软件会通过检测某些特定项目的值来判断自己是否在虚拟机内。例如VMware虚拟软件,他家的硬件显示全是VMware牌的。还有就是虚拟机一般不会把所有处理器物理核心分给虚拟系统,软件检测处理器核心数是否正常也是一种方式。比如双核i5 9400就肯定不对。检测方式还有很多,这里就不一一列举。望采纳。

判断是否开启虚拟定位
答:1、查看应用程序权限:在安卓设备上,您可以前往设置-应用程序或应用管理器,选择相应应用程序,并查看是否开启了应用程序的定位权限。虚拟定位应用程序通常会请求高级或特殊的定位权限,如模拟位置。2、使用第三方工具:可以使用第三方应用程序或工具来检测和识别虚拟定位。例如,有些应用会检查GPS信息或设备...

不知道电脑是否装了虚拟机,如何判断?
答:1、点击开始——所有程序——在弹出的菜单内找,如果有安装会有显示的。2、也可以打开控制面板——程序,电脑上安装的程序这里都能看到:

怎么查看程序是否在运行 linux
答:R(运行):正在运行或在运行队列中等待。S(中断):休眠中, 在等待某个条件的形成或接收到信号。D(不可中断):收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。Z:(僵死):进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。T:(停止):进程收到SIGSTOP, SIGSTP, SIGTIN,...

有个程序,在Windows上运行很慢,怎么判断是程序存在问题还是软硬件系统...
答:来个简单的 ctrl+ait+del 找性能 看看你的CPU占用率还有内存的使用率!

虚拟内存是怎么回事?正运行程序时说内存不能为什么什么如何解决?_百度...
答:运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。 “0x???”指令引用的“0x???”内存。该内存不能为“read”。 “0x???”指令引用的“0x???”内存,该内存不能为“written”。 不知你出现过类似这样的故障吗?(0x后面内容有可能不一样。) 一般出现这个现象有方面的,一是硬件...