После 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), )? };
Я хочу написать оболочку Python для CMake, но даже самая простая оболочка не работает:
#!/usr/bin/env python
import os
import sys
os.execvp( cmake , sys.argv) # or 'sys.argv ', both fail
Запуск этого сценария Python, например, ./pycmake . в...
Я хочу написать оболочку Python для CMake, но даже самая простая оболочка не работает:
#!/usr/bin/env python
import os
import sys
os.execvp( cmake , sys.argv) # or 'sys.argv ', both fail
Запуск этого сценария Python, например, ./pycmake . в...
Я часто использую функцию execv() в C++, но если некоторые аргументы находятся в строках C++, меня раздражает, что я не могу этого сделать:
const char *args ;
Я часто использую функцию execv() в C++, но если некоторые аргументы находятся в строках C++, меня раздражает, что я не могу этого сделать:
const char *args ;