qemu/QMP
Markus Armbruster 77e595e7c6 QMP: add human-readable description to error response
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-12-07 16:34:36 -06:00
..
qmp-events.txt QMP: Introduce qmp-events.txt 2009-12-03 09:41:24 -06:00
qmp-shell QMP: Introduce qmp-shell 2009-12-03 09:41:25 -06:00
qmp-spec.txt QMP: add human-readable description to error response 2009-12-07 16:34:36 -06:00
qmp.py QMP: Introduce qmp-shell 2009-12-03 09:41:25 -06:00
README QMP: Introduce README file 2009-12-03 09:41:24 -06:00
vm-info QMP: Introduce vm-info 2009-12-03 09:41:25 -06:00

                          QEMU Monitor Protocol
                          =====================

Introduction
-------------

The QEMU Monitor Protocol (QMP) is a JSON[1] based protocol for QEMU.

By using it applications can control QEMU in reliable and "parseable" way,
QMP also provides asynchronous events support.

For more information, please, refer to the following files:

o qmp-spec.txt    QEMU Monitor Protocol current draft specification
o qmp-events.txt  List of available asynchronous events

There are also two simple Python scripts available:

o qmp-shell       A shell
o vm-info         Show some informations about the Virtal Machine

[1] http://www.json.org

Usage
-----

To enable QMP, QEMU has to be started in "control mode". This is done
by passing the flag "control" to the "-monitor" command-line option.

For example:

$ qemu [...] -monitor control,tcp:localhost:4444,server

Will start QEMU in control mode, waiting for a client TCP connection
on localhost port 4444.

To manually test it you can connect with telnet and issue commands:

$ telnet localhost 4444
Trying ::1...
Connected to localhost.
Escape character is '^]'.
{"QMP": {"capabilities": []}}
{ "execute": "query-version" }
{"return": "0.11.50"}

Contact
-------

http://www.linux-kvm.org/page/MonitorProtocol
Luiz Fernando N. Capitulino <lcapitulino@redhat.com>