Linux x86_64Processos & threads#448
process_mrelease
Libera de forma expedita a memória de um processo que está sendo terminado, tipicamente por um OOM killer em espaço de usuário.
Descrição
Permite que um gerenciador de memória (como o low-memory-killer do Android) acelere a recuperação de memória de um processo alvo já marcado para morrer, sem esperar o ciclo normal de limpeza.
man 2Desde o kernel 5.15
Assinatura
int process_mrelease(int pidfd, unsigned int flags);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| pidfd | int | pidfd do processo alvo, que deve já estar recebendo SIGKILL. |
| flags | unsigned int | Reservado; deve ser 0. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | pidfdint |
| rsi | argumento 2 | flagsunsigned int |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EINVAL(22)
- Argumento inválido.
- ESRCH(3)
- Processo inexistente.
- EAGAIN(11)
- Recurso temporariamente indisponível (tente novamente); também conhecido como EWOULDBLOCK.