Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > G

getpriority(2)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

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

Security Restrictions

These system calls are subject to compartmental restrictions which restrict their access to processes in other compartments. This restriction covers getpriority for querying the priority of processes in other compartments, and setpriority for changing the priority of processes in other compartments. See compartments(5) for more information about compartmentalization on systems that support that feature.

Compartmental restrictions can be overridden if the process has the COMMALLOWED privilege (PRIV_COMMALLOWED). Processes owned by the superuser may not have this privilege. Processes owned by any user may have this privilege, depending on system configuration.

setpriority requires the OWNER privilege (PRIV_OWNER) to change the priority of a process whose uid does not match the caller's real or effective uid.. Processes owned by the superuser have this privilege. Processes owned by other users may have this privilege, depending on system configuration.

setpriority requires the LIMIT privilege (PRIV_LIMIT). Processes owned by the superuser have this privilege. Processes owned by other users may have this privilege, depending on system configuration.

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.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.