3 releases (breaking)
Uses old Rust 2015
0.3.0 | Sep 13, 2018 |
---|---|
0.2.0 | Sep 13, 2018 |
0.1.0 | Sep 12, 2018 |
#26 in #subprocess
22KB
366 lines
lucid
A simple mock-application that can be used by other programs that work with child processes.
lucid
is similar to sleep
, but has a few additional features that can be helpful
when debugging applications that spawn subprocesses.
Demo
Introduction
Applications or scripts that handle child processes need to deal with a lot of different scenarios.
There are really simple processes that successfully terminate after a short period of time:
lucid 2
Others also finish after some time, but fail with a non-zero exit code:
lucid 3 --exit-code=1
Some processes just run forever (but can be terminated via SIGINT
or SIGTERM
):
lucid
Others refuse to handle termination signals properly and just ignore them:
lucid 10 --no-interrupt
There are also processes that choose to daemonize themselves immediately:
lucid 10 --daemon
Many processes print a lot on standard output:
lucid 10 --verbose
While some others might generate error messages:
lucid 10 --stderr --verbose
Usage
USAGE:
lucid [OPTIONS] [duration]
OPTIONS:
-c, --exit-code <CODE> Terminate with the given exit code [default: 0]
-d, --daemon Daemonize the process after launching
-I, --no-interrupt Do not terminate when receiving SIGINT/SIGTERM signals
-p, --prefix <PREFIX> Prefix all messages with the given string [default: lucid]
-v, --verbose Be noisy
-q, --quiet Do not output anything
-e, --stderr Print all messages to stderr
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<duration> Sleep time in seconds. If no duration is given, the process will sleep forever.
Installation
cargo install lucid
Dependencies
~3–10MB
~95K SLoC