char/avril
(wip) why'd you have to go and make things so complicaaaaated?
git clone https://git.t4t.associates/char/avril
f4a0f5b
main
1//! Authorized subprocess launching, native I/O, and lifecycle supervision. 2//! 3//! `Launcher` checks live capabilities; `Process` drains output and reaps 4//! after descendant cleanup. `Scope` retains descendants across command exits 5//! until cancellation or drop, serializing launches and result publication. 6//! 7//! Hosts using retained scopes must dispatch `ANCHOR_ARG` to `anchor`. 8//! Processes that explicitly escape their process group are not contained. 9 10# [ cfg ( any ( target_os = "linux" , target_os = "macos" ))] 11# [ path = "unix.rs" ] 12mod sys; 13# [ cfg ( windows )] 14# [ path = "windows.rs" ] 15mod sys; 16# [ cfg ( any ( target_os = "linux" , target_os = "macos" , windows ))] 17pub use sys:: * ; 18 19# [ cfg ( any ( target_os = "linux" , target_os = "macos" , windows ))] 20mod launch; 21# [ cfg ( any ( target_os = "linux" , target_os = "macos" , windows ))] 22mod managed; 23# [ cfg ( any ( target_os = "linux" , target_os = "macos" , windows ))] 24mod scope; 25# [ cfg ( any ( target_os = "linux" , target_os = "macos" , windows ))] 26pub use launch::{ Launch , spawn}; 27# [ cfg ( any ( target_os = "linux" , target_os = "macos" , windows ))] 28pub use managed::{ 29Input , Launcher , Options , Output , Process , Status , StdioSpec , TerminalSize , Termination , 30}; 31# [ cfg ( any ( target_os = "linux" , target_os = "macos" , windows ))] 32pub use scope:: Scope ; 33 34# [ cfg ( unix )] 35pub mod signals; 36 37mod group; 38# [ cfg ( windows )] 39mod job; 40pub use group::{ ANCHOR_ARG , Group , anchor};