Skip to main content

rightkit_child_process/
lib.rs

1//! `OwnedCommand::inherit_handles_only` restricts inheritance to caller handles/fds plus stdio; Windows requires `windows_spawn_config` for opaque Command settings.
2
3mod capture;
4#[cfg(unix)]
5mod exit_watch;
6mod foreign;
7mod health;
8#[cfg(unix)]
9mod identity;
10#[cfg(all(test, unix))]
11mod identity_tests;
12mod no_window;
13mod owned;
14mod power;
15mod process_handle;
16#[cfg(unix)]
17mod process_unix;
18#[cfg(windows)]
19mod process_windows;
20mod registry;
21mod restart;
22pub mod reveal;
23#[cfg(windows)]
24mod spawn_windows;
25mod stall;
26mod stderr_tail;
27#[cfg(feature = "tokio")]
28pub mod tokio_support;
29#[cfg(unix)]
30mod unix_child;
31mod usage;
32#[cfg(windows)]
33pub mod windows_job;
34
35pub use capture::{read_bounded, CapturedOutput, OutputCapture};
36pub use foreign::{
37    find_processes, sweep, sweep_descendants, sweep_matching, AdoptedIdentity, AdoptedSignal,
38    IdentityCheck, MatchSweepOptions, MatchSweepReport, MatchedProcess, ProcessQuery, SignalResult,
39    StartToken, SweepReport,
40};
41pub use health::{HealthOutcome, HealthPolicy, HealthProbe, HealthTracker};
42pub use no_window::{NoWindow, CREATE_NO_WINDOW};
43pub use owned::{
44    AdoptedProcess, BreakawayDenied, JobAssignmentFailure, JobAssignmentMode, OwnedChild,
45    OwnedCommand, ProcessPriority, RawHandleOrFd, ReapOutcome, TerminationOptions, TreeTermination,
46    UnixContainment, WaitOutcome, DEFAULT_DROP_REAP_TIMEOUT, DEFAULT_ENV_ALLOWLIST,
47};
48pub use power::{PowerAssertion, PowerKind};
49pub use process_handle::ProcessHandle;
50pub use registry::{owned_count, terminate_all_owned, TerminateAllReport};
51pub use restart::{
52    ConsecutiveFailures, Generation, RestartMode, RestartOutcome, RestartPermit, RestartPolicy,
53    RestartTracker,
54};
55#[cfg(windows)]
56pub use spawn_windows::{with_windows_spawn_lock, WindowsChild, WindowsSpawnConfig, WindowsStdio};
57pub use stall::{Ack, Cooldown, StallConfig, StallEvent, StallWatchdog};
58pub use stderr_tail::StderrTail;
59#[cfg(unix)]
60pub use unix_child::UnixChild;
61pub use usage::{
62    observe_idle, process_usage, BudgetLabels, IdleObservation, ProcessUsage, UsageRates,
63};
64#[cfg(windows)]
65pub use windows_job::{WindowsJob, DEFAULT_ACTIVE_PROCESS_LIMIT};