getprioritysetpriority
- get/set program scheduling priority
LIBRARY
Lb libc
SYNOPSIS
#include <sys/time.h>
#include <sys/resource.h> int
getpriority (int which int who); int
setpriority (int which int who int prio);
DESCRIPTION
The scheduling
priority of the process, process group, or user, as indicated by
Fa which
and
Fa who
is obtained with the
getpriority ();
system call and set with the
setpriority ();
system call.
The
Fa which
argument
is one of
PRIO_PROCESSPRIO_PGRP
or
PRIO_USER
and
Fa who
is interpreted relative to
Fa which
(a process identifier for
PRIO_PROCESS
process group
identifier for
PRIO_PGRP
and a user ID for
PRIO_USER )
A zero value of
Fa who
denotes the current process, process group, or user.
The
Fa prio
argument
is a value in the range -20 to 20.
The default priority is 0;
lower priorities cause more favorable scheduling.
The
getpriority ();
system call returns the highest priority (lowest numerical value)
enjoyed by any of the specified processes.
The
setpriority ();
system call sets the priorities of all of the specified processes
to the specified value.
Only the super-user may lower priorities.
RETURN VALUES
Since
getpriority ();
can legitimately return the value -1, it is necessary
to clear the external variable
errno
prior to the
call, then check it afterward to determine
if a -1 is an error or a legitimate value.
Rv -std setpriority
ERRORS
The
getpriority ();
and
setpriority ();
system calls
will fail if:
Bq Er ESRCH
No process was located using the
Fa which
and
Fa who
values specified.
Bq Er EINVAL
The
Fa which
argument
was not one of
PRIO_PROCESSPRIO_PGRP
or
PRIO_USER
In addition to the errors indicated above,
setpriority ();
will fail if:
Bq Er EPERM
A process was located, but neither its effective nor real user
ID matched the effective user ID of the caller.
Bq Er EACCES
A non super-user attempted to lower a process priority.