int
getpriority(
int which
, id_t who
)
int
setpriority(
int which
, id_t who
, int prio
)
which
and
who
is obtained with the
getpriority(
)
call and set with the
setpriority(
)
call.
which
is one of
PRIO_PROCESS
,
PRIO_PGRP
,
or
PRIO_USER
,
and
who
is interpreted relative to
which
(a process identifier for
PRIO_PROCESS
,
process group
identifier for
PRIO_PGRP
,
and a user ID for
PRIO_USER
).
A zero value of
who
denotes the current process, process group, or user.
prio
is a value in the range -20 to 20.
The default priority is 0;
lower priorities cause more favorable scheduling.
A value of 19 or 20
will schedule a process only when nothing at priority 0 is runnable.
The
getpriority()
call returns the highest priority (lowest numerical value)
enjoyed by any of the specified processes.
The
setpriority(
)
call sets the priorities of all of the specified processes
to the specified value.
Only the super-user may lower priorities.
)
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.
The
setpriority(
)
call returns 0 if there is no error, or
-1 if there is.
)
and
setpriority(
)
will fail if:
ESRCH
]
which
and
who
values specified.
EINVAL
]
which
was not one of
PRIO_PROCESS
,
PRIO_PGRP
,
or
PRIO_USER
.
)
will fail if:
EPERM
]
EACCES
]
)
function call appeared in
4.2BSD.