Voltar à lista
Linux x86_64Processos & threads#434

pidfd_open

Cria um pidfd (descritor de arquivo) referenciando um processo existente, identificado por PID.

Descrição

O pidfd pode ser monitorado com `poll`/`epoll` para saber quando o processo termina (sem a corrida de checar `kill(pid, 0)` periodicamente), e usado com `pidfd_send_signal` e `pidfd_getfd`.

man 2Desde o kernel 5.3

Assinatura

int pidfd_open(pid_t pid, unsigned int flags);

Parâmetros

ParâmetroTipoDescrição
pidpid_tPID do processo a referenciar.
flagsunsigned intPIDFD_NONBLOCK, entre outras.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1pidpid_t
rsiargumento 2flagsunsigned int

Valor de retorno

Um novo pidfd em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EINVAL(22)
Argumento inválido.
EMFILE(24)
Limite de arquivos abertos do processo atingido.
ENFILE(23)
Limite de arquivos abertos no sistema atingido.
ENODEV(19)
Dispositivo inexistente.
ESRCH(3)
Processo inexistente.

Relacionadas