Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

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

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

NAME
       getpriority, setpriority - get/set program scheduling priority

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

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.

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.

       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.

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

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

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

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


All times are GMT -4. The time now is 03:45 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password