process_control 0.5.0

Methods for terminating processes without requiring unique access
Documentation

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:

[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.