Process Control

This crate allows terminating a process without a mutable reference. [ProcessTerminator::terminate] is designed to operate in this manner and is the reason this crate exists. It intentionally does not require a reference of any kind to the [Child] instance, allowing for maximal flexibility in working with processes.

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, allowing system resources to be freed when using methods such as [ChildExt::with_output_timeout].

GitHub Build Status

Usage

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

toml [dependencies] process_control = "0.5"

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.