process-wrap 8.2.1

Wrap a Command, to spawn processes in a group or session or job etc
Documentation
mod prelude {
	pub use std::{
		io::{BufRead, BufReader, Read, Result, Write},
		os::unix::process::ExitStatusExt,
		process::Stdio,
		thread::sleep,
		time::Duration,
	};

	pub use nix::sys::signal::Signal;
	pub use process_wrap::std::*;

	pub const DIE_TIME: Duration = Duration::from_millis(100);

	#[track_caller]
	pub fn pid_alive(pid: i32) -> bool {
		#[inline]
		#[track_caller]
		fn inner(pid: i32) -> std::result::Result<bool, remoteprocess::Error> {
			Ok(!remoteprocess::Process::new(pid)?.threads()?.is_empty())
		}

		inner(pid).unwrap_or(false)
	}
}

mod id_same_as_inner;
mod inner_read_stdout;
mod into_inner_write_stdin;
mod kill_and_try_wait;
mod multiproc_linux;
mod signals;
mod try_wait_after_die;
mod try_wait_twice_after_sigterm;
mod wait_after_die;
mod wait_twice;
mod wait_twice_after_sigterm;
mod wait_with_output;