RTPRIO(1)

명칭
rtprio, idprio - 리얼타임/아이들타임 스케줄링 우선도의 실행·확인·수정

서식
[id|rt]prio [id|rt]prio [-]pid [id|rt]prio priority command [args] [id|rt]prio priority - pid [id|rt]prio -t command [args] [id|rt]prio -t - pid

해설
rtprio 유틸리티는 리얼타임 프로세스 스케줄링에 사용합니다.

idprio 유틸리티는 아이들타임 프로세스 스케줄링에 사용해, rtprio (와)과 같은 옵션에서 사용합니다.

리얼타임 우선도의 프로세스는 우선도 저하 대상은 되지 않고, 같은 혹은 그 이상의 리얼타임 우선도의 프로세스에만 횡령됩니다.

아이돌 우선도의 프로세스는, 실행 가능한 다른 프로세스가 존재하지 않고, 우선도가 같은 혹은보다 높은 실행 가능한 아이돌 우선도 프로세스가 존재하지 않는다 경우만 실행합니다.

rtprio (와)과 idprio (을)를 인수 없음으로 실행하면(자), 현재의 프로세스의 리얼타임 우선도를 표시합니다.

rtprio (을)를 인수 1 개(살)과 함께 실행하면(자), 지정했다 pid 의 리얼타임 우선도를 돌려줍니다.

priority (을)를 지정하면(자), 프로세스 또는 프로그램을 리얼타임 우선도에서 실행합니다. -t (을)를 지정하면(자), 프로세스 또는 프로그램을 통상의 프로세스 (비리얼타임 프로세스)(으)로서 실행합니다.

-pid (을)를 지정하면(자), pid (을)를 프로세스 식별자로서 가지는 프로세스를 수정합니다. 그렇지 않고, command (을)를 지정하면(자), 프로그램을 인수 첨부로 실행합니다.

priority (은)는 0 으로부터 RTP_PRIO_MAX (통상 31)의 정수치입니다. 0 은 최고의 우선도입니다.

pid 에 0 을 지정하면(자) "현재의 프로세스" 를 의미합니다.

root 만이 리얼타임 우선도 및 아이돌 우선도를 설정 가능합니다.

진단
rtprio 하지만 명령을 실행했을 경우, 이 커멘드의 종료치가 종료치가 됩니다. 그 외의 경우, rtprio (은)는 성공시에는 0 을, 에러시에는 1 을 종료치로 합니다.

사용예
현재의 프로세스의 리얼타임 우선도를 봅니다:
    rtprio

프로세스 1423 의 리얼타임 우선도를 봅니다:
    rtprio 1423

cron(8) (을)를 최저의 리얼타임 우선도에서 실행합니다:
    rtprio 31 cron

프로세스 1423 의 리얼타임 우선도를 16 (으)로 변경합니다:
    rtprio 16 -1423

tcpdump(1) (을)를 비리얼타임 우선도에서 실행합니다:
    rtprio -t tcpdump

리얼타임 우선도의 프로세스 1423 (을)를 RTP_PRIO_NORMAL (비리얼타임/통상의 우선도)(으)로 변경합니다:
    rtprio -t -1423

다른 머신의 사용의 방해를 하지 않고 make depend 합니다:
    idprio 31 make depend

관련 항목
nice(1), ps(1), rtprio(2), setpriority(2), nice(3), renice(8)

역사
rtprio 하 FreeBSD 2.0 (으)로부터 등장했습니다만, HP-UX 의 것을 닮은 버젼이었습니다.

경고
CPU 를 대량 소비하는 프로세스를 리얼타임 우선도로 실행하면(자) 시스템을 조작할 수 없게 됩니다.

버그
프로세스 0 (swapper)의 리얼타임 우선도를 설정 및 확인하는 방법은 없습니다 ( ps(1) (을)를 참조).

FreeBSD 그럼 프로세스의 페이지가 메모리중에 존재하는 것을 프로텍션할 수 없기 때문에, 프로세스가 페이지 인을 위해서(때문에) 정지하는 것이 있습니다 ( mprotect(2), madvise(2) 참조).

FreeBSD 그럼, 현재 시스템 콜내에서 실행권이 횡령될 것은 없습니다. 비리얼타임 프로세스가 실행중이기 위해서(때문에) 리얼타임 프로세스에 실행권을 할당할 수 없는 것이나, 아이돌 프로세스가 실행중이기 위해서(때문에) 통상 우선도 프로세스에 실행권을 할당할 수 없는 것이 있습니다.

저자
-nosplit Henrik Vestergaard Draboel <hvd@terry.ping.dk> (은)는 오리지날의 저자입니다. David Greenman 하지만 FreeBSD 에의 실장시에, 대부분을 고쳐 썼습니다.