鍍金池/ 教程/ Linux/ getpriority()函數 Unix/Linux
outb()函數 Unix/Linux
getpeername()函數 Unix/Linux
io_setup()函數 Unix/Linux
mknod()函數 Unix/Linux
arch_prctl()函數 Unix/Linux
inotify_add_watch()函數 Unix/Linux
chmod()函數 Unix/Linux
_exit()函數 Unix/Linux
epoll_ctl()函數 Unix/Linux
Unix/Linux系統(tǒng)調用
futimesat()函數 Unix/Linux
oldolduname()函數 Unix/Linux
sched_rr_get_interval()函數 Unix/Linux
oldstat()函數 Unix/Linux
pselect()函數 Unix/Linux
close()函數 Unix/Linux
add_key()函數 Unix/Linux
clone()函數 Unix/Linux
rename()函數 Unix/Linux
msgop()函數 Unix/Linux
getrlimit()函數 Unix/Linux
linkat()函數 Unix/Linux
ioprio_set()函數 Unix/Linux
insw()函數 Unix/Linux
munlock()函數 Unix/Linux
getgid()函數 Unix/Linux
chdir()函數 Unix/Linux
rmdir()函數 Unix/Linux
ioctl()函數 Unix/Linux
lchown()函數 Unix/Linux
execve()函數 Unix/Linux
epoll_wait()函數 Unix/Linux
fstatat()函數 Unix/Linux
truncate()函數 Unix/Linux
lock()函數 Unix/Linux
outsb()函數 Unix/Linux
chroot()函數 Unix/Linux
kexec_load()函數 Unix/Linux
afs_syscall()函數 Unix/Linux
dup2()函數 Unix/Linux
_newselect()函數 Unix/Linux
inotify_rm_watch()函數 Unix/Linux
recv()函數 Unix/Linux
msgsnd()函數 Unix/Linux
getdtablesize()函數 Unix/Linux
ioperm()函數 Unix/Linux
munmap()函數 Unix/Linux
getpriority()函數 Unix/Linux
sched_get_priority_min()函數 Unix/Linux
outw_p()函數 Unix/Linux
kill()函數 Unix/Linux
lookup_dcookie()函數 Unix/Linux
accept()函數 Unix/Linux
obsolete()函數 Unix/Linux
pread()函數 Unix/Linux
getgroups()函數 Unix/Linux
personality()函數 Unix/Linux
recvfrom()函數 Unix/Linux
putpmsg()函數 Unix/Linux
getgroups()函數 Unix/Linux
remap_file_pages()函數 Unix/Linux
request_key()函數 Unix/Linux
mount()函數 Unix/Linux
sched_setscheduler()函數 Unix/Linux
mkdirat()函數 Unix/Linux
nfsservctl()函數 Unix/Linux
getuid()函數 Unix/Linux
prof()函數 Unix/Linux
exit_group函數 Unix/Linux
io_cancel()函數 Unix/Linux
mmap()函數 Unix/Linux
mremap()函數 Unix/Linux
getitimer()函數 Unix/Linux
unimplemented()函數 Unix/Linux
read()函數 Unix/Linux
inl()函數 Unix/Linux
posix_fadvise()函數 Unix/Linux
open()函數 Unix/Linux
listen()函數 Unix/Linux
io_destroy()函數 Unix/Linux
acct()函數 Unix/Linux
fcntl()函數 Unix/Linux
recvmsg()函數 Unix/Linux
statfs()函數 Unix/Linux
oldlstat()函數 Unix/Linux
outb()函數 Unix/Linux
getpagesize()函數 Unix/Linux
sched_yield()函數 Unix/Linux
outw()函數 Unix/Linux
inw_p()函數 Unix/Linux
setpgid()函數 Unix/Linux
quotactl()函數 Unix/Linux
prctl()函數 Unix/Linux
fattach()函數 Unix/Linux
readahead()函數 Unix/Linux
msgget()函數 Unix/Linux
gethostname()函數 Unix/Linux
semctl()函數 Unix/Linux
munlockall()函數 Unix/Linux
iopl()函數 Unix/Linux
fdetach()函數 Unix/Linux
getuid()函數 Unix/Linux
gettid()函數 Unix/Linux
pwrite()函數 Unix/Linux
isastream()函數 Unix/Linux
get_thread_area()函數 Unix/Linux
mpx()函數 Unix/Linux
io_getevents()函數 Unix/Linux
lstat()函數 Unix/Linux
readv()函數 Unix/Linux
exit()函數 Unix/Linux
inw()函數 Unix/Linux
fchmod()函數 Unix/Linux
mq_getsetattr()函數 Unix/Linux
get_robust_list()函數 Unix/Linux
_llseek()函數 Unix/Linux
gettimeofday()函數 Unix/Linux
nice()函數 Unix/Linux
security()函數 Unix/Linux
sched_get_priority_max()函數 Unix/Linux
outb_p()函數 Unix/Linux
intro()函數 Unix/Linux
alarm()函數 Unix/Linux
putmsg()函數 Unix/Linux
fork()函數 Unix/Linux
getpgrp()函數 Unix/Linux
link()函數 Unix/Linux
getcwd()函數 Unix/Linux
insl()函數 Unix/Linux
getsockname()函數 Unix/Linux
dup()函數 Unix/Linux
connect()函數 Unix/Linux
select()函數 Unix/Linux
futex()函數 Unix/Linux
outsw()函數 Unix/Linux
query_module()函數 Unix/Linux
reboot()函數 Unix/Linux
create_module()函數 Unix/Linux
adjtimex()函數 Unix/Linux
mlock()函數 Unix/Linux
statvfs()函數 Unix/Linux
gtty()函數 Unix/Linux
epoll_create()函數 Unix/Linux
bind()函數 Unix/Linux
inl_p()函數 Unix/Linux
select_tut()函數 Unix/Linux
mincore()函數 Unix/Linux
getresuid()函數 Unix/Linux
getpmsg()函數 Unix/Linux
getcontext()函數 Unix/Linux
killpg()函數 Unix/Linux
olduname()函數 Unix/Linux
openat()函數 Unix/Linux
pause()函數 Unix/Linux
alloc_hugepages()函數 Unix/Linux
ioctl_list()函數 Unix/Linux
readlinkat()函數 Unix/Linux
mprotect()函數 Unix/Linux
getdomainname()函數 Unix/Linux
readlink()函數 Unix/Linux
madvise()函數 Unix/Linux
bdflush()函數 Unix/Linux
ipc()函數 Unix/Linux
ptrace()函數 Unix/Linux
getrusage()函數 Unix/Linux
msync()函數 Unix/Linux
faccessat()函數 Unix/Linux
modify_ldt()函數 Unix/Linux
get_kernel_syms()函數 Unix/Linux
getpid()函數 Unix/Linux
fsync()函數 Unix/Linux
msgctl()函數 Unix/Linux
break未實現(xiàn) Unix/Linux
sched_setparam()函數 Unix/Linux
fchown()函數 Unix/Linux
cacheflush()函數 Unix/Linux
fdatasync()函數 Unix/Linux
flock()函數 Unix/Linux
pivot_root()函數 Unix/Linux
inotify_init()函數 Unix/Linux
fchmodat()函數 Unix/Linux
keyctl()函數 Unix/Linux
llseek()函數 Unix/Linux
outb()函數 Unix/Linux
pipe()函數 Unix/Linux
io_submit()函數 Unix/Linux
ppoll()函數 Unix/Linux
multiplexer()函數 Unix/Linux
access()函數 Unix/Linux
sched_getparam()函數 Unix/Linux
chown()函數 Unix/Linux
readdir()函數 Unix/Linux
inb_p()函數 Unix/Linux
outsl()函數 Unix/Linux
nanosleep()函數 Unix/Linux
alloc_hugepages()函數 Unix/Linux
sbrk()函數 Unix/Linux
move_pages()函數 Unix/Linux
fchdir()函數 Unix/Linux
renameat()函數 Unix/Linux
getppid()函數 Unix/Linux
getsid()函數 Unix/Linux
oldfstat()函數 Unix/Linux
lseek()函數 Unix/Linux
stat()函數 Unix/Linux
path_resolution()函數 Unix/Linux
getunwind()函數 Unix/Linux
getsockopt()函數 Unix/Linux
mmap2()函數 Unix/Linux
getdents()函數 Unix/Linux
fchownat()函數 Unix/Linux
mkdir()函數 Unix/Linux
perfmonctl()函數 Unix/Linux
open()函數 Unix/Linux
idle()函數 Unix/Linux
poll()函數 Unix/Linux
brk()函數 Unix/Linux
sched_setaffinity()函數 Unix/Linux
mlockall()函數 Unix/Linux

getpriority()函數 Unix/Linux

getpriority, setpriority - 獲取/設置程序的調度優(yōu)先級

內容簡介

#include <sys/time.h> 
#include <sys/resource.h>

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

描述

The scheduling priority of the process, process group, or user, as indicated by which andwho is obtained with the getpriority() call and set with the setpriority() call.

The value which is one of PRIO_PROCESSPRIO_PGRP, or PRIO_USER, and who is interpreted relative to which (a process identifier for PRIO_PROCESS, process group identifier for PRIO_PGRP, and a user ID for PRIO_USER). A zero value for who denotes (respectively) the calling process, the process group of the calling process, or the real user ID of the calling process. Prio is a value in the range -20 to 19 (but see the Notes below). The default priority is 0; lower priorities cause more favorable scheduling.

The getpriority() call returns the highest priority (lowest numerical value) enjoyed by any of the specified processes. The setpriority() call sets the priorities of all of the specified processes to the specified value. Only the superuser may lower priorities.

返回值

Since getpriority() can legitimately return the value -1, it is necessary to clear the external variable errno prior to the call, then check it afterwards 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.

錯誤

標簽 描述
EINVAL which was not one of PRIO_PROCESSPRIO_PGRP, orPRIO_USER.
ESRCH No process was located using the which and who values specified.
In addition to the errors indicated above, setpriority() may fail if:
EPERM A 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 the CAP_SYS_NICEcapability). But see NOTES below.
EACCES The caller attempted to lower a process priority, but did not have the required privilege (on Linux: did not have theCAP_SYS_NICE capability). Since Linux 2.6.12, this error only occurs if the caller attempts to set a process priority outside the range of the RLIMIT_NICE soft resource limit of the target process; see getrlimit(2) for details.

注意

A child created by fork(2) inherits its parent’s nice value. The nice value is preserved across execve(2).

The details on the condition for EPERM depend 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 2.6.12 required the real or effective user ID of the caller to match the real user of the process who (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 process who. 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.

The actual priority range varies between kernel versions. Linux before 1.3.36 had -infinity..15. Since kernel 1.3.43 Linux has the range -20..19. Within the kernel, nice values are actually represented using the corresponding range 40..1 (since negative numbers are error codes) and these are the values employed by the setpriority() andgetpriority() system calls. The glibc wrapper functions for these system calls handle the translations between the user-land and kernel representations of the nice value according to the formula unice = 20 - knice.

On some systems, the range of nice values is -20..20.

Including <sys/time.h> is not required these days, but increases portability. (Indeed,<sys/resource.h> defines the rusage structure with fields of type struct timeval defined in <sys/time.h>.)

遵循于

SVr4, 4.4BSD (these function calls first appeared in 4.2BSD), POSIX.1-2001.

另請參閱