mirror of https://github.com/mkerrisk/man-pages
142 lines
3.7 KiB
Groff
142 lines
3.7 KiB
Groff
.\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996
|
|
.\"
|
|
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
|
|
.\" This is free documentation; you can redistribute it and/or
|
|
.\" modify it under the terms of the GNU General Public License as
|
|
.\" published by the Free Software Foundation; either version 2 of
|
|
.\" the License, or (at your option) any later version.
|
|
.\"
|
|
.\" The GNU General Public License's references to "object code"
|
|
.\" and "executables" are to be interpreted as the output of any
|
|
.\" document formatting or typesetting system, including
|
|
.\" intermediate and printed output.
|
|
.\"
|
|
.\" This manual is distributed in the hope that it will be useful,
|
|
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
.\" GNU General Public License for more details.
|
|
.\"
|
|
.\" You should have received a copy of the GNU General Public
|
|
.\" License along with this manual; if not, see
|
|
.\" <http://www.gnu.org/licenses/>.
|
|
.\" %%%LICENSE_END
|
|
.\"
|
|
.\" 1996-04-01 Tom Bjorkholm <tomb@mydata.se>
|
|
.\" First version written
|
|
.\" 1996-04-10 Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
|
|
.\" revision
|
|
.\" Modified 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
|
|
.\"
|
|
.TH SCHED_SETPARAM 2 2014-05-11 "Linux" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
sched_setparam, sched_getparam \- set and get scheduling parameters
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B #include <sched.h>
|
|
.sp
|
|
.BI "int sched_setparam(pid_t " pid ", const struct sched_param *" param );
|
|
.sp
|
|
.BI "int sched_getparam(pid_t " pid ", struct sched_param *" param );
|
|
.sp
|
|
\fBstruct sched_param {
|
|
...
|
|
int \fIsched_priority\fB;
|
|
...
|
|
};
|
|
.fi
|
|
.SH DESCRIPTION
|
|
.BR sched_setparam ()
|
|
sets the scheduling parameters associated with the scheduling policy
|
|
for the process identified by \fIpid\fP.
|
|
If \fIpid\fP is zero, then
|
|
the parameters of the calling process are set.
|
|
The interpretation of
|
|
the argument \fIparam\fP depends on the scheduling
|
|
policy of the process identified by
|
|
.IR pid .
|
|
See
|
|
.BR sched (7)
|
|
for a description of the scheduling policies supported under Linux.
|
|
|
|
.BR sched_getparam ()
|
|
retrieves the scheduling parameters for the
|
|
process identified by \fIpid\fP.
|
|
If \fIpid\fP is zero, then the parameters
|
|
of the calling process are retrieved.
|
|
|
|
.BR sched_setparam ()
|
|
checks the validity of \fIparam\fP for the scheduling policy of the
|
|
thread.
|
|
The value \fIparam\->sched_priority\fP must lie within the
|
|
range given by
|
|
.BR sched_get_priority_min (2)
|
|
and
|
|
.BR sched_get_priority_max (2).
|
|
|
|
For a discussion of the privileges and resource limits related to
|
|
scheduling priority and policy, see
|
|
.BR sched (7).
|
|
|
|
POSIX systems on which
|
|
.BR sched_setparam ()
|
|
and
|
|
.BR sched_getparam ()
|
|
are available define
|
|
.B _POSIX_PRIORITY_SCHEDULING
|
|
in \fI<unistd.h>\fP.
|
|
.SH RETURN VALUE
|
|
On success,
|
|
.BR sched_setparam ()
|
|
and
|
|
.BR sched_getparam ()
|
|
return 0.
|
|
On error, \-1 is returned, and
|
|
.I errno
|
|
is set appropriately.
|
|
.SH ERRORS
|
|
.TP
|
|
.B EINVAL
|
|
Invalid arguments:
|
|
.I param
|
|
is NULL or
|
|
.I pid
|
|
is negative
|
|
.TP
|
|
.B EINVAL
|
|
.RB ( sched_setparam ())
|
|
The argument \fIparam\fP does not make sense for the current
|
|
scheduling policy.
|
|
.TP
|
|
.B EPERM
|
|
.RB ( sched_setparam ())
|
|
The calling process does not have appropriate privileges
|
|
(Linux: does not have the
|
|
.B CAP_SYS_NICE
|
|
capability).
|
|
.TP
|
|
.B ESRCH
|
|
The process whose ID is \fIpid\fP could not be found.
|
|
.SH CONFORMING TO
|
|
POSIX.1-2001.
|
|
.SH NOTES
|
|
.PP
|
|
Scheduling parameters are in fact per-thread
|
|
attributes on Linux;
|
|
see
|
|
.BR sched (7).
|
|
.SH SEE ALSO
|
|
.ad l
|
|
.nh
|
|
.BR getpriority (2),
|
|
.BR nice (2),
|
|
.BR sched_get_priority_max (2),
|
|
.BR sched_get_priority_min (2),
|
|
.BR sched_getaffinity (2),
|
|
.BR sched_getscheduler (2),
|
|
.BR sched_setaffinity (2),
|
|
.BR sched_setscheduler (2),
|
|
.BR sched_setattr (2),
|
|
.BR setpriority (2),
|
|
.BR capabilities (7),
|
|
.BR sched (7)
|