Process Control

This crate allows terminating a process without a mutable reference. Thus, it becomes possible to abort early from waiting for output or an exit code – primarily through [ProcessTerminator::terminate]. That method is intentionally designed to not require a reference of any kind to the [Child] instance, to allow for maximal flexibility.

Typically, it is not possible to terminate a process during a call to [Child::wait] or [Child::wait_with_output] in another thread, since [Child::kill] takes a mutable reference. However, since this crate creates its own termination method, there is no issue, and useful methods such as [Terminator::wait_for_output_with_timeout] can exist.

GitHub Build Status

Usage

Add the following lines to your "Cargo.toml" file:

toml [dependencies] process_control = "0.1"

See the [documentation] for available functionality and examples.

Rust version support

The minimum supported Rust toolchain version is currently Rust 1.34.0.

License

Licensing terms are specified in [COPYRIGHT].

Unless you explicitly state otherwise, any contribution submitted for inclusion in this crate, as defined in [LICENSE-APACHE], shall be licensed according to [COPYRIGHT], without any additional terms or conditions.