Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for getpriority (redhat section 2)

GETPRIORITY(2)			    Linux Programmer's Manual			   GETPRIORITY(2)

       getpriority, setpriority - get/set program scheduling priority

       #include <sys/time.h>
       #include <sys/resource.h>

       int getpriority(int which, int who);
       int setpriority(int which, int who, int prio);

       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  for who denotes (respectively) the calling process, the
       process group of the calling process, or the real user ID of the calling process.  Prio is
       a  value  in  the  range  -20 to 20 (but see the Notes below).  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 speci-
       fied processes to the specified value.  Only the super-user may lower priorities.

       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.

       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 may fail if:

       EPERM  A process was located, but neither the effective nor the real user ID of the caller
	      matches its effective user ID.

       EACCES A non super-user attempted to lower a process priority.

       The details on the condition for EPERM depend on the system.   The  above  description  is
       what  SUSv3  says,  and seems to be followed on all SYSV-like systems.  Linux requires the
       real or effective user ID of the caller to match the real user of the process who (instead
       of  its effective user ID).  All BSD-like systems (SunOS 4.1.3, Ultrix 4.2, BSD 4.3, Free-
       BSD 4.3, OpenBSD-2.5, ...) require the effective user ID of the caller to match	the  real
       or effective user ID of the process who.

       The actual priority range varies between kernel versions.  Linux before 1.3.36 had -infin-
       ity..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

       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>.)

       SVr4, 4.4BSD (these function calls first appeared in 4.2BSD).

       nice(1), fork(2), renice(8)

BSD Man Page				    2002-06-21				   GETPRIORITY(2)

All times are GMT -4. The time now is 09:55 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password