Home Download Docs Stories Related History Contact


Welcome to the home of Microraptor: a robust, distributed process management system! Microraptor's purpose is to provide reliable, flexible, and scalable process control for a development or deployment team working with many processes spread across an arbitrary number of computers. While initially created at the Robotics Institute of Carnegie Mellon University to ease development and deployment of software for field and team robotics, Microraptor more generally supports process management in distributed systems.


  • Manage processes across multiple machines
  • Monitor status of all processes at a glance
  • Interact with process consoles:
    • Tabbed windows manage clutter when there are many processes
    • Can subscribe/unsubscribe to process console output dynamically, which helps manage bandwidth when processes are running on a remote host with a low-bandwidth connection
  • Configure how to run processes using a flexible config file format
  • Multiple users can view/manage the same processes:
    • User interface clients can be dynamically started, killed, or disconnected from the network without affecting managed processes
    • Clients and daemons automatically synchronize their configuration, so a configuration file only needs to be loaded once
  • Process dependencies can be specified:
    • Detection of when a process is "ready" based on its console output
    • Running process Y will result in all processes Y depends on automatically running, with Y only running when all depended-upon processes are "ready"
    • Dependency links can span processes on multiple hosts
  • Log process console output to process-local disk, independent of whether it's being observed at runtime
  • Easily installed on systems which support RPMs and a SysV-style startup system (such as RedHat), as well as apt-based Linux distributions (such as Ubuntu), Microraptor is installed and configured as a daemon 'out of the box'. A Microraptor network can be established from scratch in under half an hour; most of that time is needed to write the configuration file.


A Microraptor system includes one or many host computers that can play different roles. Some hosts (e.g. embedded computers onboard robots) run managed processes; each of those hosts must be able to run mraptord (the Microraptor daemon). Other hosts (e.g. user laptops) run one of the Microraptor clients (claw or mrterm) to allow the user to command and monitor managed processes. If you like, a single host computer can run both daemon and clients. In addition, a single Microraptor network may contain host computers running different operating systems.

Basic platform requirements:

  • mraptord - Primarily developed for Linux, also ported to Windows running under Cygwin. mraptord has been used successfully with long uptimes on both platforms, but some of the advanced features are untested under Cygwin.
  • claw graphical client - Currently runs only under Linux, but still works on older distributions going back to RedHat 7.2.
    Because claw is an X windows application, in a pinch you can also run claw on a remote Linux host and send the display to your Windows or Mac OS X host if it runs an X server.
    We hope to develop an improved graphical client that will also run natively under Mac OS X, stay tuned.
  • mrterm console client - like mraptord, mrterm runs under Linux and Windows/Cygwin. It is also easy to run remotely under ssh. You can use mrterm as your primary client in a pinch, but for day-to-day use you will want to have a graphical client available.


Please note that while the developers of Microraptor (Trey Smith and Brennan Sellner) are more than happy to provide access to the source code and the RPMs we build, we are both full-time graduate students at the RI, and do not have the resources to provide technical support. Please feel free to contact us, but be advised that we may not have time to give you the level of assistance we would like to.

Last modified: October 24, 2014 at 22:00:08.