KVM虚拟机除了用到qemu命令行界面进行操作,我们可以在创建虚拟机的时候指定一些参数,可以让我们通过SOCKET UNIX通信的方式,来控制虚拟机。
qemu-system-x86_64-m 2048 -drive file=/var/disk/win.img,if=virtio -rtcbase=localtime -netnic,macaddr=00:11:22:33:44:aa,model=virtio -nettap,script=/var/etc/ovs-ifup,downscript=/var/etc/ovs-ifdown,ifname=vmwin7 -chardev socket,id=img,path=/var/console/1.img,server,nowait -mon chardev=img,id=monitor,mode=readline -usb -usbdevice tablet -vnc :5
红色字体是找那个要的代码,实现添加一个字符设备,指定socket通信的的ID 和路径(因为是指定的unix 域 socket通信方式,所以要指定Unix域文件的路径,server选项开启监听,nowait是非阻塞模式, -mon chardev=img,id=monitor,mode=readline :Setup monitor on chardev name创建监视器窗口在指定的字符设备上)接下来就是让我们进行通信:写一个socket客户端int socketfd;
char buf[1024];
struct sockaddr_un so