Voltar à lista
Linux x86_64Escalonamento#144

sched_setscheduler

Define a política de escalonamento e os parâmetros de prioridade de um processo.

Descrição

Escolhe entre políticas normais (SCHED_OTHER, SCHED_BATCH, SCHED_IDLE) e de tempo real (SCHED_FIFO, SCHED_RR), que preemptam threads de política normal e exigem CAP_SYS_NICE para a maioria dos ajustes.

Header: sched.hman 2

Nota

Para controle mais fino (ex.: SCHED_DEADLINE), veja `sched_setattr`.

Assinatura

int sched_setscheduler(
    pid_t pid,
    int policy,
    const struct sched_param * param
);

Parâmetros

ParâmetroTipoDescrição
pidpid_tPID alvo; 0 significa o chamador.
policyintNova política: SCHED_OTHER, SCHED_FIFO, SCHED_RR, SCHED_BATCH, SCHED_IDLE.
paramconst struct sched_param *Prioridade estática associada à política.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1pidpid_t
rsiargumento 2policyint
rdxargumento 3paramconst struct sched_param *

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EINVAL(22)
Argumento inválido.
EPERM(1)
Operação não permitida (falta de privilégio).
ESRCH(3)
Processo inexistente.

Relacionadas