40.2. 라이브러리 호출을 사용하여 프로세스 우선 순위 설정
스케줄러 정책 및 기타 매개변수는 sched_setscheduler() 함수를 사용하여 설정할 수 있습니다. 현재 실시간 정책에는 하나의 매개변수인 sched_priority 가 있습니다. 이 매개변수는 프로세스의 우선 순위를 조정하는 데 사용됩니다.
sched_setscheduler() 함수에는 sched_setscheduler(pid_t pid, int policy, const struct sched_param *sp) 의 세 가지 매개변수가 필요합니다.
sched_setscheduler(2) 도움말 페이지에는 오류 코드를 포함하여 sched_setscheduler() 의 가능한 모든 반환 값이 나열됩니다.
프로세스 ID가 0이면 sched_setscheduler() 함수가 호출 프로세스에서 작동합니다.
다음 코드 발췌에서는 현재 프로세스의 스케줄러 정책을 Cryostat _FIFO 스케줄러 정책 및 우선 순위는 50 으로 설정합니다.
struct sched_param sp = { .sched_priority = 50 };
int ret;
ret = sched_setscheduler(0, SCHED_FIFO, &sp);
if (ret == -1) {
perror("sched_setscheduler");
return 1;
}