ante-exec 0.1.2

Standalone process execution utilities for Ante
Documentation

ante-exec

Standalone asynchronous process execution utilities used by Ante.

The crate provides bounded output collection, timeouts, interactive stdin, background process polling, and Unix process-group cleanup.

Example

use std::time::Duration;

use ante_exec::{CommandOptions, run_with_timeout};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let output = run_with_timeout(
        CommandOptions::new("git", ".").args(["status", "--short"]),
        Duration::from_secs(10),
        1024 * 1024,
    )
    .await?;

    println!("{}", String::from_utf8_lossy(&output.stdout));
    Ok(())
}

Ante targets macOS and Linux. Process-group behavior is implemented on Unix; non-Unix fallbacks do not provide equivalent lifecycle guarantees.