]> git.proxmox.com Git - qemu.git/blame - QMP/README
Update for 0.12.4 release
[qemu.git] / QMP / README
CommitLineData
26d5a1cd
LC
1 QEMU Monitor Protocol
2 =====================
3
4Introduction
5-------------
6
c6faf5fd
LC
7The QEMU Monitor Protocol (QMP) allows applications to communicate with
8QEMU's Monitor.
26d5a1cd 9
c6faf5fd
LC
10QMP is JSON[1] based and has the following features:
11
12- Lightweight, text-based, easy to parse data format
13- Asynchronous events support
14- Stability
26d5a1cd
LC
15
16For more information, please, refer to the following files:
17
c6faf5fd 18o qmp-spec.txt QEMU Monitor Protocol current specification
26d5a1cd
LC
19o qmp-events.txt List of available asynchronous events
20
21There are also two simple Python scripts available:
22
23o qmp-shell A shell
c6faf5fd 24o vm-info Show some information about the Virtual Machine
26d5a1cd
LC
25
26[1] http://www.json.org
27
28Usage
29-----
30
c6faf5fd
LC
31To enable QMP, QEMU has to be started in "control mode". There are
32two ways of doing this, the simplest one is using the the '-qmp'
33command-line option.
26d5a1cd
LC
34
35For example:
36
c6faf5fd 37$ qemu [...] -qmp tcp:localhost:4444,server
26d5a1cd
LC
38
39Will start QEMU in control mode, waiting for a client TCP connection
40on localhost port 4444.
41
c6faf5fd
LC
42It is also possible to use the '-mon' command-line option to have
43more complex combinations. Please, refer to the QEMU's manpage for
44more information.
45
46Simple Testing
47--------------
48
49To manually test QMP one can connect with telnet and issue commands:
26d5a1cd
LC
50
51$ telnet localhost 4444
c6faf5fd 52Trying 127.0.0.1...
26d5a1cd
LC
53Connected to localhost.
54Escape character is '^]'.
55{"QMP": {"capabilities": []}}
56{ "execute": "query-version" }
c6faf5fd 57{"return": {"qemu": "0.11.50", "package": ""}}
26d5a1cd
LC
58
59Contact
60-------
61
62http://www.linux-kvm.org/page/MonitorProtocol
63Luiz Fernando N. Capitulino <lcapitulino@redhat.com>