setpriority(2)
_________________________________________________________________
setpriority System Call
Set process scheduling priority.
_________________________________________________________________
SYNTAX
#include <sys/resource.h>
int setpriority (which, who, prio)
int which;
int who;
int prio;
PARAMETERS
which Specifies how the argument <who> is to be
interpreted in identifying one or more processes
to set the priority for. It may take on the value
PRIO_PROCESS, PRIO_PGRP, or PRIO_USER.
who Identifies one or more processes to set the
priority for; may be a process ID, a process group
ID, or user ID, depending on the value of <which>.
prio The new value to set the process(es) priority to.
DESCRIPTION
One or more processes are identified by the combination of the
arguments <which> and <who>. If <which> is PRIO_PROCESS, <who>
is interpreted as a process ID and a single process identified.
If <which> is PRIO_PGRP, <who> is interpreted as a process group
ID, and all processes that are members of that group are
identified. If <which> is PRIO_USER, <who> is interpreted as a
user ID, and all processes with effective-user-id of <who> are
identified. A <who> value of 0 is interpreted as the calling
process's process ID, process group ID, and effective-user-id,
respectively, for the three cases listed. For example, all
processes in the calling process' process group may be identified
with <which> set to PRIO_PGRP and <who> set to zero.
The setpriority call sets the priorities of all the identified
processes to <prio>, subject to the access control constraints
described below. The access checks are applied to each process
in the identified set. If one or more processes fail the checks,
DG/UX 4.00 Page 1
Licensed material--property of copyright holder(s)
setpriority(2)
setpriority still changes the priority of those processes that
pass the checks, but the error return value will be given.
ACCESS CONTROL
In order to set a process's priority to a larger numerical value
(less favorable scheduling) or leave it unchanged, the calling
process must have an effective-user-id that is 0 or that matches
the target process's effective-user_id.
In order to set a process's priority to a smaller numerical
value, the calling process must have an effective-user-id that is
0.
RETURN VALUE
0 Successful completion.
-1 An error occurred. Errno is set to indicate the
error.
EXCEPTIONS
Errno may be set to one of the following error codes:
ESRCH Using the <which> and <who> values specified no
processes were located at all, or if any processes
were located, none passed the access checks.
EINVAL <which> was not one of PRIO_PROCESS, PRIO_PGRP, or
PRIO_USER.
EACCES One or more (but not all) of the processes in the
identified set did not pass the access checks
described above.
SEE ALSO
The related system call: nice, fork.
DG/UX 4.00 Page 2
Licensed material--property of copyright holder(s)