sched_setscheduler man page on CentOS

Man page or keyword search:  
man Server   8420 pages
apropos Keyword Search (all sections)
Output format
CentOS logo
[printable version]

SCHED_SETSCHEDULER(P)	   POSIX Programmer's Manual	 SCHED_SETSCHEDULER(P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the	 corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

NAME
       sched_setscheduler - set scheduling policy and parameters (REALTIME)

SYNOPSIS
       #include <sched.h>

       int sched_setscheduler(pid_t pid, int policy,
	      const struct sched_param *param);

DESCRIPTION
       The sched_setscheduler() function shall set the scheduling  policy  and
       scheduling parameters of the process specified by pid to policy and the
       parameters specified in the sched_param structure pointed to by	param,
       respectively. The value of the sched_priority member in the sched_param
       structure shall be any integer within the inclusive priority range  for
       the scheduling policy specified by policy.  If the value of pid is neg‐
       ative, the behavior of the sched_setscheduler()	function  is  unspeci‐
       fied.

       The  possible  values  for  the	policy	parameter  are	defined in the
       <sched.h> header.

       If a process specified by pid exists, and if the	 calling  process  has
       permission,  the	 scheduling  policy and scheduling parameters shall be
       set for the process whose process ID is equal to pid.

       If pid is zero, the scheduling policy and scheduling  parameters	 shall
       be set for the calling process.

       The conditions under which one process has the appropriate privilege to
       change the scheduling parameters of another process are implementation-
       defined.

       Implementations may require that the requesting process have permission
       to set its own scheduling parameters or those of another process. Addi‐
       tionally,  implementation-defined  restrictions	may  apply  as	to the
       appropriate privileges required to set a process' own  scheduling  pol‐
       icy, or another process' scheduling policy, to a particular value.

       The  sched_setscheduler() function shall be considered successful if it
       succeeds in setting the scheduling policy and scheduling parameters  of
       the  process specified by pid to the values specified by policy and the
       structure pointed to by param, respectively.

       If the scheduling policy specified by  policy  is  SCHED_SPORADIC,  the
       value  specified by the sched_ss_low_priority member of the param argu‐
       ment shall be any integer within the inclusive priority range  for  the
       sporadic server policy. The sched_ss_repl_period and sched_ss_init_bud‐
       get members of the param argument shall represent the  time  parameters
       used  by	 the sporadic server scheduling policy for the target process.
       The sched_ss_max_repl member of the param argument shall represent  the
       maximum	number of replenishments that are allowed to be pending simul‐
       taneously for the process scheduled under this scheduling policy.

       The specified sched_ss_repl_period shall be greater than	 or  equal  to
       the  specified  sched_ss_init_budget for the function to succeed; if it
       is not, then the function shall fail.

       The value of sched_ss_max_repl shall be within the inclusive range  [1,
       {SS_REPL_MAX}]  for the function to succeed; if not, the function shall
       fail.

       If the scheduling policy specified by policy is	either	SCHED_FIFO  or
       SCHED_RR,    the	  sched_ss_low_priority,   sched_ss_repl_period,   and
       sched_ss_init_budget members of the param argument shall have no effect
       on the scheduling behavior.

       The  effect  of this function on individual threads is dependent on the
       scheduling contention scope of the threads:

	* For threads with system scheduling contention scope, these functions
	  shall have no effect on their scheduling.

	* For  threads	with process scheduling contention scope, the threads'
	  scheduling policy and associated parameters shall not	 be  affected.
	  However,  the scheduling of these threads with respect to threads in
	  other processes may be dependent on  the  scheduling	parameters  of
	  their process, which are governed using these functions.

       If  an  implementation  supports	 a two-level scheduling model in which
       library threads are multiplexed	on  top	 of  several  kernel-scheduled
       entities,  then the underlying kernel-scheduled entities for the system
       contention scope threads shall not be affected by these functions.

       The underlying kernel-scheduled entities	 for  the  process  contention
       scope  threads shall have their scheduling policy and associated sched‐
       uling parameters changed to the values specified in policy  and	param,
       respectively.  Kernel-scheduled	entities for use by process contention
       scope threads that are created after this call completes shall  inherit
       their  scheduling  policy and associated scheduling parameters from the
       process.

       This function is not atomic  with  respect  to  other  threads  in  the
       process.	  Threads  may continue to execute while this function call is
       in the process of changing the scheduling policy and associated	sched‐
       uling  parameters  for the underlying kernel-scheduled entities used by
       the process contention scope threads.

RETURN VALUE
       Upon successful completion, the function shall return the former sched‐
       uling  policy  of  the  specified  process. If the sched_setscheduler()
       function fails to complete  successfully,  the  policy  and  scheduling
       parameters  shall  remain  unchanged,  and  the function shall return a
       value of -1 and set errno to indicate the error.

ERRORS
       The sched_setscheduler() function shall fail if:

       EINVAL The value of the policy parameter is invalid, or one or more  of
	      the parameters contained in param is outside the valid range for
	      the specified scheduling policy.

       EPERM  The requesting process does not have permission to set either or
	      both  of	the  scheduling parameters or the scheduling policy of
	      the specified process.

       ESRCH  No process can be found corresponding to that specified by pid.

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       None.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       sched_getparam() , sched_getscheduler() , sched_setparam() ,  the  Base
       Definitions volume of IEEE Std 1003.1-2001, <sched.h>

COPYRIGHT
       Portions	 of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating	System	Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003	by  the	 Institute  of
       Electrical  and	Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained	online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group		     2003		 SCHED_SETSCHEDULER(P)
[top]

List of man pages available for CentOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net