drekar-launch is a simple standalone process launcher/orchestrator. It is written in Python and has the following features:
- Lightweight, single file Python program with minimal dependencies.
- Standalone program that does not require ROS and can run any process necessary.
- Various parameters available to control program execution including arguments, working directory, environment, restart, auto quit, etc.
- Windows support using Job Objects and Windows Messages to provide graceful shutdown and avoid hanging programs.
cgroupv2to make certain tasks terminate correctly (on newer Linux distributions).
- A simple GUI that can optionally be displayed to the user with a “Stop All” button. This is useful for when a launch is done interactively.
- Jinja2 template support for configuration files with environmental variables, command line arguments, system information, etc.
drekar-launch-processlibraries used to catch signals and windows messages, to provide a graceful shutdown signal. The companion libraries are available for Python and C++ with more possible in the future.
- Basic logging support.
- Modular design can be embedded in other applications that require process management.
drekar-launch has similar goals to
ros-launch, but has a different architecture and feature set.
Future work may include:
- Improved log management and rotation.
- Integration with Windows services.
- Additional companion libraries for other programming languages.
- Adoption of “pluggy” package for plugin support.
Contributions are welcome!
drekar-launch is developed and maintained by Wason Technology, LLC.
The development of
drekar-launch was supported in part by the United States Advanced Robotics in Manufacturing (ARM) Institute. The ARM Institute is the nation’s leading Robotics and AI Manufacturing Innovation Institute. Operating as a non-profit consortium, the ARM Institute and its members accelerate the adoption of robotics and automation to increase U.S. manufacturing competitiveness. Learn more at www.arminstitute.org.