qemu/QMP
Luiz Capitulino db11571f09 QMP: Improve RTC_CHANGE event description
Some people might think that this event is emitted whenever the
time changes, be more specific.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-04-18 23:55:19 +02:00
..
qmp-events.txt QMP: Improve RTC_CHANGE event description 2010-04-18 23:55:19 +02:00
qmp-shell QMP: Introduce qmp-shell 2009-12-03 09:41:25 -06:00
qmp-spec.txt QMP: spec: Capability negotiation updates 2010-02-10 12:46:05 -06:00
qmp.py QMP: Introduce qmp-shell 2009-12-03 09:41:25 -06:00
README QMP: Add QEMU's version to the greeting message 2010-02-10 12:46:05 -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) allows applications to communicate with
QEMU's Monitor.

QMP is JSON[1] based and has the following features:

- Lightweight, text-based, easy to parse data format
- Asynchronous events support 
- Stability

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

o qmp-spec.txt    QEMU Monitor Protocol current 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 information about the Virtual Machine

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

Usage
-----

To enable QMP, QEMU has to be started in "control mode". There are
two ways of doing this, the simplest one is using the the '-qmp'
command-line option.

For example:

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

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

It is also possible to use the '-mon' command-line option to have
more complex combinations. Please, refer to the QEMU's manpage for
more information.

Simple Testing
--------------

To manually test QMP one can connect with telnet and issue commands:

$ telnet localhost 4444
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
{"QMP": {"version": {"qemu": "0.12.50", "package": ""}, "capabilities": []}}
{ "execute": "qmp_capabilities" }
{"return": {}}
{ "execute": "query-version" }
{"return": {"qemu": "0.12.50", "package": ""}}

Contact
-------

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