Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ setpriority(2) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                           setpriority(2)



        _________________________________________________________________
        setpriority                                           System Call
        Set process scheduling priority.
        _________________________________________________________________


        SYNTAX

        #include <sys/resource.h>

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


        PARAMETERS

        which          Specifies how the argument <who> is to be
                       interpreted in identifying one or more processes
                       to set the priority for.  It may take on the value
                       PRIO_PROCESS, PRIO_PGRP, or PRIO_USER.


        who            Identifies one or more processes to set the
                       priority for; may be a process ID, a process group
                       ID, or user ID, depending on the value of <which>.


        prio           The new value to set the process(es) priority to.


        DESCRIPTION

        One or more processes are identified by the combination of the
        arguments <which> and <who>.  If <which> is PRIO_PROCESS, <who>
        is interpreted as a process ID and a single process identified.
        If <which> is PRIO_PGRP, <who> is interpreted as a process group
        ID, and all processes that are members of that group are
        identified.  If <which> is PRIO_USER, <who> is interpreted as a
        user ID, and all processes with effective-user-id of <who> are
        identified.  A <who> value of 0 is interpreted as the calling
        process's process ID, process group ID, and effective-user-id,
        respectively, for the three cases listed.  For example, all
        processes in the calling process' process group may be identified
        with <which> set to PRIO_PGRP and <who> set to zero.

        The setpriority call sets the priorities of all the identified
        processes to <prio>, subject to the access control constraints
        described below.  The access checks are applied to each process
        in the identified set.  If one or more processes fail the checks,



        DG/UX 4.00                                                 Page 1
               Licensed material--property of copyright holder(s)





                                                           setpriority(2)



        setpriority still changes the priority of those processes that
        pass the checks, but the error return value will be given.


        ACCESS CONTROL

        In order to set a process's priority to a larger numerical value
        (less favorable scheduling) or leave it unchanged, the calling
        process must have an effective-user-id that is 0 or that matches
        the target process's effective-user_id.

        In order to set a process's priority to a smaller numerical
        value, the calling process must have an effective-user-id that is
        0.


        RETURN VALUE

        0              Successful completion.


        -1             An error occurred.  Errno is set to indicate the
                       error.


        EXCEPTIONS

        Errno may be set to one of the following error codes:


        ESRCH          Using the <which> and <who> values specified no
                       processes were located at all, or if any processes
                       were located, none passed the access checks.


        EINVAL         <which> was not one of PRIO_PROCESS, PRIO_PGRP, or
                       PRIO_USER.


        EACCES         One or more (but not all) of the processes in the
                       identified set did not pass the access checks
                       described above.


        SEE ALSO

        The related system call:  nice, fork.







        DG/UX 4.00                                                 Page 2
               Licensed material--property of copyright holder(s)



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