После Pivot_root я могу вывести сообщение на вывод дочернего процесса; но когда я выполняю execve ([code]/bin/ls[/code]), нет вывода (событие в файле журнала). [code] pub async fn run(cxt: cfg::Context, file: String) -> ChariotResult { ...
let mut stack = [0u8; 1024 * 1024]; let flags = CloneFlags::empty() .union(CloneFlags::CLONE_NEWUSER) .union(CloneFlags::CLONE_NEWNET) .union(CloneFlags::CLONE_NEWPID) .union(CloneFlags::CLONE_NEWNS);
let pid = unsafe { nix::sched::clone( Box::new(|| match run_container(cxt.clone(), container.clone()) { Ok(()) => 0, Err(e) => { tracing::error!("Failed to run container: {e}"); -1 } }), &mut stack, flags, // The SIGCHLD signal is required for wait/waitpid; // otherwise, ECHILD will be reported. Some(libc::SIGCHLD), )? };