app lucid

A mock-application for programs that spawn subprocesses

1 unstable release

0.1.0 Sep 12, 2018

#8 in #debugging

Download history 6/week @ 2018-09-12

1 downloads per month

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     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 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:
        Sleep time in seconds. If no duration is given, the process will sleep forever.

Installation

cargo install lucid

Dependencies

~2.5MB
~34K SLoC

  • clap 2.0+suggestions+color+wrap_help
  • ctrlc 3.0+termination
  • nix 0.11