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

#28 in #subprocess

MIT/Apache

22KB
366 lines

lucid

Build Status

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

lucid 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

~2–10MB
~84K SLoC