Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getpriority(3) — Amiga System V Release 4 Version 2.03

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

renice(1M)

nice(1)

fork(2)



getpriority(3)         C LIBRARY FUNCTIONS         getpriority(3)



NAME
     getpriority, setpriority - get/set program scheduling prior-
     ity

SYNOPSIS
     cc [ flag... ] file ... -lucb
     #include <sys/time.h>
     #include <sys/resource.h>
     int getpriority(which, who)
     int which, who;
     int setpriority(which, who, prio)
     int which, who, prio;

DESCRIPTION
     The scheduling priority of the process,  process  group,  or
     user,  as  indicated  by which and who is obtained with get-
     priority and set with setpriority The default priority is 0;
     lower  priorities cause more favorable scheduling.  which is
     one of PRIOPROCESS, PRIOPGRP, or  PRIOUSER,  and  who  is
     interpreted  relative  to  which  (a  process identifier for
     PRIOPROCESS, process group identifier for PRIOPGRP, and  a
     user  ID  for  PRIOUSER).   A zero value of who denotes the
     current  process,  process  group,  or  user.    getpriority
     returns   the  highest  priority  (lowest  numerical  value)
     enjoyed by any of the specified processes.  setpriority sets
     the  priorities  of  all  of  the specified processes to the
     value specified by prio.  If prio is less than -20, a  value
     of  -20  is used; if it is greater than 20, a value of 20 is
     used.  Only the privileged 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 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.

ERRORS
     getpriority and setpriority may return one of the  following
     errors:

     ESRCH     No process was located using  the  which  and  who
               values specified.

     EINVAL    which was not one of PRIOPROCESS,  PRIOPGRP,  or
               PRIOUSER.   In  addition  to the errors indicated
               above, setpriority may fail with one of  the  fol-
               lowing errors returned:

     EPERM     A process was located, but one of the following is
               true:




             Last change: BSD Compatibility Package             1





getpriority(3)         C LIBRARY FUNCTIONS         getpriority(3)



               ⊕  Neither its effective nor real user ID  matched
                  the  effective  user ID of the caller, and nei-
                  ther the effective nor the real user ID of  the
                  process   executing  the  setpriority  was  the
                  privileged user.

               ⊕  The call to getpriority would  have  changed  a
                  process'  priority  to  a  value lower than its
                  current value, and the effective user ID of the
                  process  executing the call was not that of the
                  privileged user.

SEE ALSO
     renice(1M).  nice(1) in the User's Reference Manual.
     fork(2) in the Programmer's Reference Manual.

NOTES
     It is not possible for the process executing setpriority  to
     lower  any  other  process  down  to  its  current priority,
     without requiring privileged user privileges.



































             Last change: BSD Compatibility Package             2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026