2012-12-11 2 views
3

특정 외국 프로세스의 모든 스레드에서 SCHED_RR (및 우선 순위)을 설정하고 싶습니다.프로세스 (리눅스)의 모든 스레드의 우선 순위/스케줄 정책을 올리려고합니까?

셸 과 다른 경우에서 수행하는 가장 좋은 방법은 자식으로 생성 할 때 다른 프로세스에서 프로그래밍 방식으로 프로그래밍하는 것입니다. 감사합니다.

필자는 쉘 스크립팅에서 빠져 나와 프로세스의 모든 스레드에 대해 "chrt"를 실행하는 방법을 모르지만 문제가있는 경우 스레드의 이름이 다릅니다.

답변

0

udevd의 우선 순위 상승이 시도 : 프로세스의 모든 스레드의

디스플레이 우선 순위를

$ (udevd 이것들을 pidof) $의 페이지에 대한; do chrt -p $ p; 수행

샘플 출력

PID 1249의 현재 스케줄링 정책 : SCHED_OTHER

PID 1249의 현재 스케줄링 우선 순위 : 0

PID 1248의 현재 스케줄링 정책 : SCHED_OTHER

PID 1248의 현재 스케줄링 우선 순위 : 0

pid 788의 현재 스케줄링 정책 : SCHED_OTHER

PID 788의 현재 스케줄링 우선 순위 : 0

는 프로세스의 모든 스레드의 우선 순위를 상승

$ (udevd 이것들을 pidof) $의 페이지에 대한; do chrt -p 45 $ p; 수행

샘플 출력 :

PID 1249의 현재 스케줄링 정책 : SCHED_OTHER

PID 1249의 현재 스케줄링 우선 순위 : 0

PID 1249의 새로운 스케줄링 정책 : SCHED_RR

PID 1249의 새로운 스케줄링 우선 순위 : 45

pid 1248의 현재 일정 정책 : SCHED_OTHER

PID 1248의 현재 스케줄링 우선 순위 : 0

PID 1248의 새로운 스케줄링 정책 : SCHED_RR

PID 1248의 새로운 스케줄링 우선 순위 : 45

PID 788의 현재 스케줄링 정책 : SCHED_OTHER

PID 788 년대 현재 스케줄링 우선 순위 : 0

pid 788의 새로운 스케줄링 정책 : SCHED_RR

pid 788의 새로운 예약 우선 순위 : 45

+0

이 프로세스에서 스레드를 처리하지 않습니다. 다음과 같이 시도 할 수 있습니다 : for $ (ps -m -o tid --pid $ (pidof udevd) | tail -n +3); chrt -p -r 20 $ pid;를 수행하십시오. done – sruffell

+0

@sruffell 감사합니다. – user1284631

관련 문제