# psup A non-blocking process supervisor that uses Unix domain sockets for inter-process communication built on [tokio][]. Support will be added later for Windows using named pipes. It's purpose is primarily to be used as a libary [psup-impl][] but the [psup][] executable can be used for testing or constrained environments where a lightweight executable could be useful. The statically linked release executable is ~2MB with symbols stripped on Linux and could be trimmed down further with a little effort. Example communicating using JSON RPC: ``` cargo run --example=supervisor ``` An example that uses the supervisor control channel to explicitly shutdown a daemon worker process: ``` cargo run --example=shutdown ``` To test the daemon and respawn logic: ``` cargo run -- sample.toml kill ``` Build a release: ``` cargo build --release && strip target/release/psup ``` Dual-licensed under [MIT][] and [Apache-2][]. [tokio]: https://docs.rs/tokio/ [psup]: https://docs.rs/psup/ [psup-impl]: https://docs.rs/psup-impl/ [MIT]: https://mit-license.org/ [Apache-2]: https://www.apache.org/licenses/LICENSE-2.0.html