1mod capture;
4#[cfg(unix)]
5mod descriptors;
6#[cfg(unix)]
7mod exit_watch;
8mod foreign;
9mod health;
10#[cfg(unix)]
11mod identity;
12#[cfg(all(test, unix))]
13mod identity_tests;
14mod launch;
15pub mod login_shell;
16#[cfg(any(unix, windows))]
17mod native_capture;
18mod no_window;
19mod owned;
20mod power;
21mod process_handle;
22mod process_table;
23#[cfg(unix)]
24mod process_unix;
25#[cfg(windows)]
26mod process_windows;
27mod registry;
28mod restart;
29pub mod reveal;
30mod run;
31#[cfg(windows)]
32mod spawn_windows;
33mod stall;
34mod stderr_tail;
35mod terminal;
36#[cfg(feature = "tokio")]
37pub mod tokio_support;
38#[cfg(unix)]
39mod unix_child;
40mod usage;
41#[cfg(windows)]
42pub mod windows_job;
43
44pub use capture::{read_bounded, CapturedOutput, OutputCapture};
45#[cfg(unix)]
46pub use descriptors::SanitizeDescriptors;
47pub use foreign::{
48 find_processes, process_group_exists, suspend_current_process, sweep, sweep_descendants,
49 sweep_matching, wait_process_group_empty, AdoptedIdentity, AdoptedSignal, IdentityCheck,
50 MatchSweepOptions, MatchSweepReport, MatchedProcess, ProcessQuery, SignalResult, StartToken,
51 SweepReport,
52};
53#[cfg(unix)]
54pub use foreign::{resume_session, signal_session, suspend_session};
55pub use health::{HealthOutcome, HealthPolicy, HealthProbe, HealthTracker};
56pub use launch::{launch_app, open_url};
57#[cfg(any(unix, windows))]
58pub use native_capture::NativeOutputCapture;
59pub use no_window::{command_std, NoWindow, CREATE_BREAKAWAY_FROM_JOB, CREATE_NO_WINDOW};
60pub use owned::{
61 AdoptedProcess, BreakawayDenied, JobAssignmentFailure, JobAssignmentMode, OwnedChild,
62 OwnedCommand, ProcessPriority, RawHandleOrFd, ReapOutcome, TerminationOptions, TreeTermination,
63 UnixContainment, WaitOutcome, DEFAULT_DROP_REAP_TIMEOUT, DEFAULT_ENV_ALLOWLIST,
64};
65pub use power::{PowerAssertion, PowerKind};
66pub use process_handle::ProcessHandle;
67pub use process_table::{process_table, ProcessEntry};
68pub use registry::{owned_count, terminate_all_owned, TerminateAllReport};
69pub use restart::{
70 ConsecutiveFailures, Generation, RestartMode, RestartOutcome, RestartPermit, RestartPolicy,
71 RestartTracker,
72};
73pub use run::{
74 run, run_command, run_command_capture, run_streaming, run_with_stdin, CaptureOptions,
75 LeaderTermination, RunOptions, RunOutput, RunnerFailure, RunnerPhase, StreamOptions,
76 StreamOutput,
77};
78#[cfg(windows)]
79pub use spawn_windows::{with_windows_spawn_lock, WindowsChild, WindowsSpawnConfig, WindowsStdio};
80pub use stall::{
81 Ack, Cooldown, HeartbeatConfig, HeartbeatEvent, HeartbeatWatch, StallConfig, StallEvent,
82 StallWatchdog,
83};
84pub use stderr_tail::StderrTail;
85pub use terminal::status_inherited_terminal;
86#[cfg(unix)]
87pub use unix_child::UnixChild;
88pub use usage::{
89 observe_idle, observe_idle_with_threads, process_usage, process_usage_with_threads,
90 thread_deltas, tree_usage, BudgetLabels, IdleObservation, IdleThreadObservation,
91 ProcessThreads, ProcessUsage, ThreadDelta, ThreadDeltas, ThreadSample, TreeUsage, UsageRates,
92};
93#[cfg(windows)]
94pub use windows_job::{ExitReason, WindowsJob, WindowsJobBuilder, DEFAULT_ACTIVE_PROCESS_LIMIT};