Differences between current version and revision by previous author of getpriority(2).
Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Tuesday, December 31, 2002 1:45:33 am | by PerryLorier | |
Older page: | version 1 | Last edited on Tuesday, June 4, 2002 12:23:41 am | by perry | Revert |
@@ -1,111 +1,33 @@
-GETPRIORITY
-!!!GETPRIORITY
-NAME
-SYNOPSIS
-DESCRIPTION
-RETURN VALUE
-ERRORS
-NOTE
-CONFORMING TO
-SEE ALSO
-----
!!NAME
-
-
-
getpriority, setpriority
- get/set
program scheduling priority
+getpriority - get program scheduling priority
!!SYNOPSIS
+ __#include <sys/time.h>__
+ __#include <sys/resource.h>__
+ __int getpriority(int__ ''which''__, int__ ''who''__);__
-__#include __
-#include __
-
-
-__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 ''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.
+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.
-The scheduling priority of the process, process group, or
-user, as indicated by ''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.
-
-
-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.
!!RETURN VALUE
+Since __getpriority__ can legitimately return the value -1, it is necessary to clear the external variable ''errno'' prior to the call, then check it afterwards 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.
-
-Since __getpriority__ can legitimately return the value
--1, it is necessary to clear the external variable
-''errno'' prior to the call, then check it afterwards 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.
!!ERRORS
+;[ESRCH]: No process was located using the ''which'' and ''who'' values specified.
+;[EINVAL]: ''Which'' was not one of __PRIO_PROCESS__, __PRIO_PGRP__, or __PRIO_USER__.
-
-__ESRCH__
-
-
-No process was located using the ''which'' and ''who''
-values specified.
-
-
-__EINVAL__
-
-
-''Which'' was not one of __PRIO_PROCESS__,
-__PRIO_PGRP__, or __PRIO_USER__.
-
-
-In addition to the errors indicated above,
-__setpriority__ will fail if:
-
-
-__EPERM__
-
-
-A process was located, but neither its effective nor real
-user ID matched the effective user ID of the
-caller.
-
-
-__EACCES__
-
-
-A non super-user attempted to lower a process
-priority.
!!NOTE
+The actual priority range varies between kernel versions. Linux before 1.3.36 had -infinity..15. Linux since 1.3.43 has -20..19, and the system call getpriority returns 40..1 for these values (since negative numbers are error codes). The library call converts N into 20-N.
+Including ''<sys/time.h>'' is not required these days, but increases portability. (Indeed, ''<sys/resource.h>'' defines the ''rusage''
+structure with fields of type ''struct timeval'' defined in ''<sys/time.h>''.)
-Including '''' is not required these
-days, but increases portability. (Indeed,
-'''' defines the ''rusage''
-structure with fields of type ''struct timeval'' defined
-in ''''.)
!!CONFORMING TO
+SVr4, 4.4BSD (these function calls first appeared in 4.2BSD).
-
-SVr4, 4.4BSD (these function calls first appeared in
-4.2BSD).
!!SEE ALSO
-
-
-
nice(1), fork(2),
-
renice(8
)
-----
+nice(1), fork(2), renice(1
)