HPlogo HP-UX Reference Volume 3 of 5 > g

getpriority(2)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

getpriority, setpriority — get or set process priority

SYNOPSIS

#include <sys/resource.h>

int getpriority(int which, int who);

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

DESCRIPTION

getpriority() returns the priority of the indicated processes.

setpriority() sets the priority of the indicated processes to priority.

The processes are indicated by which and who, where which can have one of the following values:

PRIO_PROCESS

Get or set the priority of the specified process where who is the process ID. A who of 0 implies the process ID of the calling process.

PRIO_PGRP

Get or set the priority of the specified process group where who is the process-group ID, indicating all processes belonging to that process-group. A who of 0 implies the process-group ID of the calling process.

PRIO_USER

Get or set the priority of the specified user where who is the user ID, indicating all processes owned by that user. A who of 0 implies the user ID of the calling process.

If more than one process is indicated, the value returned by getpriority() is the lowest valued priority of all the indicated processes, and setpriority() sets the priority of all indicated processes.

priority is a value from -20 to 20, where lower values indicate better priorities. The default priority for a process is 0.

If the calling process contains more than one thread or lightweight process (i.e., the process is multi-threaded) these functions shall apply to all threads or lightweight processes in the calling process. The priority specified (or retrieved) is the same for all threads or lightweight processes in a process. Negative priorities require appropriate privileges.

RETURN VALUE

getpriority() returns the following values:

n

Successful completion. n is an integer priority in the range -20 to 20.

-1

Failure. errno is set to indicate the error. See WARNINGS below.

setpriority() returns the following values:

0

Successful completion.

-1

Failure. errno is set to indicate the error.

ERRORS

If getpriority() or setpriority() fails, errno is set to one of the following values:

[EACCES]

The calling process does not have access rights to change one or more of the indicated processes. All processes for which access is allowed are still affected.

[EINVAL]

which is not one of the choices listed above, or who is out of range.

[EPERM]

The calling process attempted to change the priority of a process to a smaller priority value without having appropriate privileges.

[ESRCH]

Processes indicated by which and who cannot be found.

WARNINGS

getpriority() can return -1 both when it successfully finds a priority of -1 and when it fails. To determine whether a failure occurred, set errno to 0 before calling getpriority(), then examine errno after the call returns.

AUTHOR

getpriority() and setpriority() were developed by the University of California, Berkeley.

© Hewlett-Packard Development Company, L.P.