Чтобы программно управлять QEMU из другой программы, вам необходимо:
- создать соединение монитора QMP при запуске QEMU, с которым ваша программа может общаться (вы можете прослушивать его через сокет TCP, или (по крайней мере на Linux) вы можете настроить его на использование файлового дескриптора, который вы передаете QEMU при запуске)
- подключиться к этому монитору из вашей программы и отправить ему команды
QMP похож на HMP «монитор человека» в том, что он может делать, но он предназначен для программного обеспечения: это протокол формата JSON, поэтому ответы легче анализировать, и есть гарантии обратного совместимость (которую протокол человеческого монитора не обеспечивает). QMP - это то, как программы наподобие libvirt управляют QEMU.
См. Введение в QMP и справочное руководство по QMP для получения более подробной информации.