1use anyhow::{bail, Result};
2use console::Style;
3use lurk_cli::{args::Args, style::StyleConfig, Tracer};
4use nix::unistd::{fork, ForkResult};
5use std::io;
6
7fn main() -> Result<()> {
8 let command = String::from("/usr/bin/ls");
9
10 let pid = match unsafe { fork() } {
11 Ok(ForkResult::Child) => {
12 return lurk_cli::run_tracee(&[command], &[], &None);
13 }
14 Ok(ForkResult::Parent { child }) => child,
15 Err(err) => bail!("fork() failed: {err}"),
16 };
17
18 let args = Args::default();
19 let output = io::stdout();
20 let style = StyleConfig {
21 pid: Style::new().cyan(),
22 syscall: Style::new().white().bold(),
23 success: Style::new().green(),
24 error: Style::new().red(),
25 result: Style::new().yellow(),
26 use_colors: true,
27 };
28
29 Tracer::new(pid, args, output, style)?.run_tracer()
30}