Qemu的HMP的多种用法

参考

Multiple ways to access QEMU Machine Protocol (QMP)
qmp-intro.txt
http://wiki.qemu.org/QMP
https://www.humblec.com/qmp-qemu-monitor-protocol-and-different-ways-of-accessing-it/

方法一: 通过telnet

参数:
-chardev socket,id=mon0,host=localhost,port=4444,server,nowait -mon chardev=mon0,mode=readline

然后使用telnet localhost 4444登录。

方法二:使用qemu自带的qemu-shell工具

  • 通过网络套接字
    参数:
    -chardev socket,id=mon0,host=localhost,port=4444,server,nowait -mon chardev=mon0,mode=control

或者:

    -qmp tcp:localhost:4444,server,nowait

然后使用scripts/qmp/qmp-shell -H localhost:4444登录,最后通过Ctrl-D退出.

  • 通过本地套接字
    参数:
   -chardev socket,id=mon1,path=./qmp-sock,server,nowait -mon chardev=mon1,mode=control

或者:

   -qmp unix:./qmp-sock,server,nowait

然后使用scripts/qmp/qmp-shell -H ./qmp-sock登录,最后通过Ctrl-D退出.

方式三:通过stdio

参数:

   -chardev stdio,id=mon0 -mon chardev=mon0,mode=readline

或者:

   --monitor stdio

或者:

   –nographic

对于最后这样,需要使用快捷键Ctrl-A C切换到monitor。

原文地址:https://www.cnblogs.com/pengdonglin137/p/15721657.html