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