pub fn execveat(
dirfd: DirFd<'_>,
path: &CStr,
argv: &[&CStr],
envp: &[&CStr],
flags: ExecveatFlags,
) -> Result<Infallible, Errno>Expand description
Variante *at d’execve (préférée par ADR-021) : résout l’exécutable
relativement à dirfd, ou — avec [ExecveatFlags::EMPTY_PATH] et
path == c"" — exécute directement le binaire désigné par dirfd
(un fd ouvert sur l’exécutable, typiquement avec O_PATH), éliminant toute
race entre l’ouverture/vérification et l’exec.
Cf. docs/specs/layer-0/family-process.md. Comme execve, ne retourne
jamais en cas de succès.
§Errors
Mêmes erreurs qu’execve, plus :
- [
Errno::EBADF] :dirfdn’est niAT_FDCWDni un fd ouvert valide. - [
Errno::ENOENT] :pathest vide sans [ExecveatFlags::EMPTY_PATH]. - [
Errno::ELOOP] : composant final symbolique avec [ExecveatFlags::SYMLINK_NOFOLLOW].