![]() |
![]() |
![]() |
![]() |
Change the priority of a process
#include <sched.h> int sched_setparam( pid_t pid, const struct sched_param * param );
libc
The sched_setparam() function changes the priority of process pid to that of the sched_priority member in the sched_param structure pointed to by param. If pid is zero, the priority of the calling process is changed.
The sched_priority member in param must lie between the minimum and maximum values returned by sched_get_priority_max() and sched_get_priority_min().
By default the process priority and scheduling algorithm are inherited from or explicitly set by the parent process. Once running, the child process may change its priority using this function.
POSIX 1003.1 (Realtime Extensions)
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
Currently, the implementation of sched_setparam() isn't 100% POSIX 1003.1-1996. The sched_setparam() function sets the scheduling parameters for thread 1 in the process pid, or for the calling thread if pid is 0.
If you depend on this in new code, it will not be portable. POSIX 1003.1 says sched_setparam() should return -1 and set errno to EPERM in a multithreaded application.
errno, getprio(), sched_getparam(), sched_get_priority_max(), sched_get_priority_min(), sched_getscheduler(), sched_setscheduler(), sched_yield(), setprio()
![]() |
![]() |
![]() |
![]() |