qemu-qmp

0.5.0 • Public • Published

node-qemu-qmp

Node.js library for connecting to QEMU Machine Protocol (QMP)

Example

var QMP = require('qemu-qmp');
 
var qmp = new QMP();
qmp.connect('/tmp/qmp-sock', function(err) {
  if (err) throw err;
  console.info('QEMU version %d.%d.%d', qmp.version.qemu.major, qmp.version.qemu.minor, qmp.version.qemu.micro);
 
  qmp.execute('query-status', function(err, status) {
    if (err) throw err;
    console.info('Current VM status: %s', status.status);
 
    if (!status.running)
      this.end();
 
    console.info('Waiting for VM shutdown...');
 
    this.on('shutdown', function() {
      this.end();
    });
  });
});

Commands

The execute() method is used to execute QEMU QMP commands. For a list of commands see https://raw.githubusercontent.com/qemu/qemu/master/qmp-commands.hx

To get a list of commands supported by your version of QEMU, use the "query-commands" command:

qmp.execute('query-commands', function(err, commands) {
  if (err) throw err;
  console.log(commands);
});

Events

The library emits all the standard net.Socket events, as well as all the QEMU QMP events. For a list of QEMU QMP events, see https://raw.githubusercontent.com/qemu/qemu/master/docs/qmp/qmp-events.txt

Readme

Keywords

none

Package Sidebar

Install

npm i qemu-qmp

Weekly Downloads

1

Version

0.5.0

License

none

Last publish

Collaborators

  • nostalgeek