Linux x86_64Processos & threads#109
setpgid
Move um processo para um grupo de processos diferente (ou cria um novo grupo).
Descrição
Grupos de processos são a unidade usada por controle de job de shell e por `kill`/sinais para endereçar múltiplos processos relacionados de uma vez.
Header:
unistd.hman 2Assinatura
int setpgid(pid_t pid, pid_t pgid);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| pid | pid_t | Processo alvo; 0 significa o chamador. |
| pgid | pid_t | Novo grupo; 0 usa o PID de `pid` como novo PGID. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | pidpid_t |
| rsi | argumento 2 | pgidpid_t |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EACCES(13)
- Permissão negada.
- EINVAL(22)
- Argumento inválido.
- EPERM(1)
- Operação não permitida (falta de privilégio).
- ESRCH(3)
- Processo inexistente.