Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


getpriority(2) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |STANDARDS |HISTORY |NOTES |BUGS |SEE ALSO |COLOPHON

getpriority(2)             System Calls Manualgetpriority(2)

NAME        top

       getpriority, setpriority - get/set program scheduling priority

LIBRARY        top

       Standard C library (libc,-lc)

SYNOPSIS        top

#include <sys/resource.h>int getpriority(intwhich, id_twho);int setpriority(intwhich, id_twho, intprio);

DESCRIPTION        top

       The scheduling priority of the process, process group, or user, as       indicated bywhich andwho is obtained with thegetpriority() call       and set with thesetpriority() call.  The process attribute dealt       with by these system calls is the same attribute (also known as       the "nice" value) that is dealt with bynice(2).       The valuewhich is one ofPRIO_PROCESS,PRIO_PGRP, orPRIO_USER,       andwho is interpreted relative towhich (a process identifier forPRIO_PROCESS, process group identifier forPRIO_PGRP, and a user       ID forPRIO_USER).  A zero value forwho denotes (respectively)       the calling process, the process group of the calling process, or       the real user ID of the calling process.       Theprio argument is a value in the range -20 to 19 (but see NOTES       below), with -20 being the highest priority and 19 being the       lowest priority.  Attempts to set a priority outside this range       are silently clamped to the range.  The default priority is 0;       lower values give a process a higher scheduling priority.       Thegetpriority() call returns the highest priority (lowest       numerical value) enjoyed by any of the specified processes.  Thesetpriority() call sets the priorities of all of the specified       processes to the specified value.       Traditionally, only a privileged process could lower the nice       value (i.e., set a higher priority).  However, since Linux 2.6.12,       an unprivileged process can decrease the nice value of a target       process that has a suitableRLIMIT_NICEsoft limit; seegetrlimit(2) for details.

RETURN VALUE        top

       On success,getpriority() returns the calling thread's nice value,       which may be a negative number.  On error, it returns -1 and setserrno to indicate the error.       Since a successful call togetpriority() can legitimately return       the value -1, it is necessary to clearerrno prior to the call,       then checkerrno afterward to determine if -1 is an error or a       legitimate value.setpriority() returns 0 on success.  On failure, it returns -1 and       setserrno to indicate the error.

ERRORS        top

EACCESThe caller attempted to set a lower nice value (i.e., a              higher process priority), but did not have the required              privilege (on Linux: did not have theCAP_SYS_NICE              capability).EINVALwhich was not one ofPRIO_PROCESS,PRIO_PGRP, orPRIO_USER.EPERMA process was located, but its effective user ID did not              match either the effective or the real user ID of the              caller, and was not privileged (on Linux: did not have theCAP_SYS_NICEcapability).  But see HISTORY below.ESRCHNo process was located using thewhich andwho values              specified.

STANDARDS        top

       POSIX.1-2008.

HISTORY        top

       POSIX.1-2001, SVr4, 4.4BSD (these interfaces first appeared in       4.2BSD).       The details on the condition forEPERMdepend on the system.  The       above description is what POSIX.1-2001 says, and seems to be       followed on all System V-like systems.  Linux kernels before Linux       2.6.12 required the real or effective user ID of the caller to       match the real user of the processwho (instead of its effective       user ID).  Linux 2.6.12 and later require the effective user ID of       the caller to match the real or effective user ID of the processwho.  All BSD-like systems (SunOS 4.1.3, Ultrix 4.2, 4.3BSD,       FreeBSD 4.3, OpenBSD-2.5, ...) behave in the same manner as Linux       2.6.12 and later.

NOTES        top

       For further details on the nice value, seesched(7).Note: the addition of the "autogroup" feature in Linux 2.6.38       means that the nice value no longer has its traditional effect in       many circumstances.  For details, seesched(7).       A child created byfork(2) inherits its parent's nice value.  The       nice value is preserved acrossexecve(2).C library/kernel differences       The getpriority system call returns nice values translated to the       range 40..1, since a negative return value would be interpreted as       an error.  The glibc wrapper function forgetpriority() translates       the value back according to the formulaunice = 20 - knice (thus,       the 40..1 range returned by the kernel corresponds to the range       -20..19 as seen by user space).

BUGS        top

       According to POSIX, the nice value is a per-process setting.       However, under the current Linux/NPTL implementation of POSIX       threads, the nice value is a per-thread attribute: different       threads in the same process can have different nice values.       Portable applications should avoid relying on the Linux behavior,       which may be made standards conformant in the future.

SEE ALSO        top

nice(1),renice(1),fork(2),capabilities(7),sched(7)Documentation/scheduler/sched-nice-design.txt in the Linux kernel       source tree (since Linux 2.6.23)

COLOPHON        top

       This page is part of theman-pages (Linux kernel and C library       user-space interface documentation) project.  Information about       the project can be found at        ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report       for this manual page, see       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.       This page was obtained from the tarball man-pages-6.15.tar.gz       fetched from       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on       2025-08-11.  If you discover any rendering problems in this HTML       version of the page, or you believe there is a better or more up-       to-date source for the page, or you have corrections or       improvements to the information in this COLOPHON (which isnot       part of the original manual page), send a mail to       man-pages@man7.orgLinux man-pages 6.15            2025-05-17getpriority(2)

Pages that refer to this page:renice(1)getrlimit(2)ioprio_set(2)nice(2)sched_rr_get_interval(2)sched_setaffinity(2)sched_setattr(2)sched_setparam(2)sched_setscheduler(2)syscalls(2)errno(3)id_t(3type)proc_pid_stat(5)systemd.exec(5)capabilities(7)credentials(7)pid_namespaces(7)pthreads(7)sched(7)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp