当前位置:  技术问答>linux和unix

如何使用有名管道或者共享内存技术实现虚拟机与主机之间的通信?

    来源: 互联网  发布时间:2016-09-02

    本文导语:  如何使用有名管道或者共享内存技术实现虚拟机与主机之间的通信? 本机实验环境ubuntu 10.04,用kvm搭建一个虚拟机。 我实验了下 在主机中建立管道 mkfifo /tmp/tmpfifo  然后发送一个东西 echo "host">/tmp/tmpfifo 另外弄个...

如何使用有名管道或者共享内存技术实现虚拟机与主机之间的通信?

本机实验环境ubuntu 10.04,用kvm搭建一个虚拟机。

我实验了下
在主机中建立管道 mkfifo /tmp/tmpfifo 
然后发送一个东西 echo "host">/tmp/tmpfifo
另外弄个窗口读取他 cat /tmp/tmpfifo
可以正常显示 host 说明管道正常

然后在虚拟机器上直接输入 cat /tmp/tmpfifo 显示没有这个管道
建立 mkfifo /tmp/tmpfifo之后,在主机 echo "host">/tmp/tmpfifo
重新虚拟机上cat /tmp/tmpfifo一直等待,说明管道没有通过来



我分析如下:虚拟机不知道自己跑在虚拟的硬件上,所以也无法访问模拟硬件之外的内存空间,所以无法与主机上的有名管道交互。不知道是这样吗?

|
管道(包括命名管道)或者共享内存所创建出来的数据结构(inode以及inode里面的i_pipe或者是shm_ids中的一个入口点)在宿主机自己的内核空间中.而KVM启动的虚拟机是在一个进程中运行的(线程数视VCPU个数而定),这个虚拟机创建出来的管道或者共享内存数据结构是在这个进程所分配的内存中,两者的数据结构不是同一块内存,也就是说彼此都不了解对方,自然是不起作用的。

|
虚拟机,看字面意思就是说虚拟出来的一台机器,当然没法共用一个管道啊。
你就把虚拟机当做一台单独的机器理解好了。

    
 
 

您可能感兴趣的文章:

  • 求教一个简单的关于管道使用的问题,谢谢
  • 在C++ 中怎么使用管道符啊?急急急
  • 无法使用管道命令或重定向标准输出
  • 关于跨越fork调用使用管道,会打开4个文件描述符?
  • 关于linux 下使用管道问题
  • 我写了一个虚拟命名管道(FIFO)的字符设备,如何使用呢?
  • shell管道使用kill问题
  • linux使用管道命令执行ps获取cpu与内存占用率
  • Linux中管道的使用(父或子进程中能否都保留读写端)
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • redhat9内存使用率高达73%,怎么查看内存具体使用情况
  • linux下free命令显示的内存使用情况分析
  • 关于大于2G内存的使用.....按32位编译的进程怎么使用大于2G的内存?
  • 大家好,我想问下有人用过"linux进程的内存使用解析"中推荐使用的"Ben Maurer写的perl脚本"查看内存么
  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • solaris 8 下有没有返回系统总物理内存和当前所使用内存大小的函数。(不是top,vmstat命令)
  • 如何查看某个进程的cpu使用和内存使用情况????
  • 使用VWMARE安装linux的内存使用问题
  • 计算进程的内存使用量应该使用/proc/self/statm哪几个量相加表示?
  • 我的redhat linux7.3因为内存有些少,所以我想随时查看内存的使用情况该如何去做,还有我想关掉(而不是切换)图形界面应该用什么命令
  • 100分求解如何查看内存最高使用值!!
  • 内核不能使用虚拟内存?
  • 如何减少内存的使用。
  • 怎样才能配置XSERVER,让它能最少的使用资源??哪一个窗口管理器使用资源最少??为什么我的LINUX用掉了我80%的内存资源??????要我命呀!!!!!
  • Unix/linux下如何监测共享内存的使用情况
  • 怎么打开一个进程并得到这个进程内存使用的信息?
  • 请问在SOLARIS上怎么实时查看程序的内存使用状况??
  • top命令显示的内存使用量是如何得出的
  • linux如何限制指定进程的内存使用量?
  • linux下共享内存 函数shmat()的使用!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用tcp协议发送数据, 如果获得系统底层将包发到客户端之间的耗时?
  • 使用ssh-keygen -t rsa建立密钥之后,可以实现两台linux主机之间的root用户免密码登陆。但无法实现两个普通用户之间免密码登陆
  • ASP.NET使用Subtract方法获取两个日期之间的天数
  • 两台机器之间拷贝大量数据 用什么命令,怎么使用
  • 问题:在linux系统中,怎么使用shell脚本,在文件的第三行和第四行之间新增一行(插入一段字符,或者一个变量的值)?
  • 提问:red hat 7。2中使用什么命令在gnome和kde两者之间切换?
  • 请问linux下使用sed如何删除和修改匹配行之间的内容
  • 关于makefile里面 两个源文件之间 使用全局变量的疑惑
  • 铁通、电信、网通等不同网络之间,使用requst获取远程IP地址,为什么是不一样的?
  • 如何使用socket,在C/S程序之间传递数组?
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • 求教:在一台机器上多个进程之间使用udp通信是否可靠,谢谢
  • 如何在UNIX 和 WINDOWS 平台之间进行数据传输,使用TCP/IP 通信协议
  • winform使用委托和事件来完成两个窗体之间通信的实例
  • 使用udp,客户端和服务器之间相互发送消息的例子
  • C#中使用强制类型实现字符串和ASCII码之间的转换
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • php开源软件 iis7站长之家
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • Jsp可否使用带有GUI的JavaBean,如何使用?
  • c/c++预处理命令预#,##使用介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3