init(8) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

init(8)

init(8)                 System Administration Commands                 init(8)

NAME
       init - process control initialization

SYNOPSIS
       /usr/sbin/init [-c comment] [0123456abcQqSs]

DESCRIPTION
       init is the default primordial user process. (Options given to the ker‐
       nel  during boot may result in the invocation of an alternative primor‐
       dial user process, as described on kernel(8)). init initiates the  core
       components  of  the  service  management  facility,  svc.configd(8) and
       svc.startd(8), and restarts these components if they fail. For backward
       compatibility, init also starts and restarts general processes  accord‐
       ing to /etc/inittab, as described below.


       The run levels and system booting descriptions given below are provided
       for  compatibility  purposes  only,  and otherwise made obsolete by the
       service management facility, smf(7).

   init Failure
       If init exits for any reason other than system  shutdown,  it  will  be
       restarted with process-ID 1.

   Run Level Defined
       At any given time, the system is in one of eight possible run levels. A
       run level is a software configuration under which only a selected group
       of  processes  exists.  Processes spawned by init for each of these run
       levels are defined in /etc/inittab. init can be in  one  of  eight  run
       levels,  0-6  and S or s (S and s are identical). The run level changes
       when a privileged user runs /usr/sbin/init.

   init and System Booting
       When the system is booted, init is invoked and  the  following  occurs.
       First,  it  reads  the  properties for the svc:/system/environment:init
       service. Among these properties are values for locale-related  environ‐
       ment variables, such as LANG or LC_CTYPE. init then looks in /etc/init‐
       tab  for the initdefault entry (see inittab(5)). If the initdefault en‐
       try:

       exists

           init usually uses the run level specified in that entry as the ini‐
           tial run level to enter only if the options/milestone property  has
           not been specified for svc.startd(8).


       does not exist

           The service management facility, smf(7), examines its configuration
           specified  in  svc.startd(8), and enters the milestone specified by
           the options/milestone property.



       The initdefault entry in /etc/inittab corresponds to the following  run
       levels:

       S or s

           init  goes to the single-user state. In this state, the system con‐
           sole device (/dev/console) is opened for reading  and  writing  and
           the sulogin(8) command is invoked. Use init to change the run level
           of  the system. Note that if the shell is terminated (using an end-
           of-file), init only re-initializes  to  the  single-user  state  if
           /etc/inittab does not exist.


       0-6

           init enters the corresponding run level. Run levels 0, 5, and 6 are
           reserved  states for shutting the system down. Run levels 2, 3, and
           4 are available as multi-user operating states.



       If this is the first time since power up that init has  entered  a  run
       level  other  than single-user state, init first scans /etc/inittab for
       boot and bootwait entries (see inittab(5)). These entries are performed
       before any other processing of /etc/inittab takes place, providing that
       the run level entered matches that of the entry. In this way  any  spe‐
       cial initialization of the operating system, such as mounting file sys‐
       tems,  can  take  place  before users are allowed onto the system. init
       then scans /etc/inittab and executes all other entries that are  to  be
       processed for that run level.


       To  spawn  each  process in /etc/inittab, init reads each entry and for
       each entry that should be respawned, it forks a child process. After it
       has spawned all of the processes specified by /etc/inittab, init  waits
       for  one  of  its descendant processes to die, a powerfail signal, or a
       signal from another init process to change the system's run level. When
       one of these conditions occurs, init re-examines /etc/inittab.

   inittab Additions
       New entries can be added to /etc/inittab at  any  time;  however,  init
       still  waits  for one of the above three conditions to occur before re-
       examining /etc/inittab. To get around this, init Q or  init  q  command
       wakes init to re-examine /etc/inittab immediately.


       When  init  comes  up at boot time and whenever the system changes from
       the single-user state to another run  state,  init  sets  the  ioctl(2)
       states   of   the   console   to   those   modes   saved  in  the  file
       /etc/ioctl.syscon. init writes this file whenever the single-user state
       is entered.

   Run Level Changes
       When a run level change request is made, init or a designate sends  the
       warning  signal  (SIGTERM)  to  all processes that are undefined in the
       target run level. A minimum interval of five seconds is observed before
       init or its designate forcibly terminates these processes by sending  a
       kill  signal  (SIGKILL).  Additionally, init informs svc.startd(8) that
       the run level is changing. svc.startd(8) then restricts the  system  to
       the  set of services which the milestone corresponding to the run-level
       change depends on.


       When init receives a signal telling it that a process  it  spawned  has
       died,  it records the fact and the reason it died in /var/adm/utmpx and
       /var/adm/wtmpx if it exists (see who(1)). A history  of  the  processes
       spawned is kept in /var/adm/wtmpx.


       If  init receives a powerfail signal (SIGPWR) it scans /etc/inittab for
       special entries of the type powerfail and powerwait. These entries  are
       invoked  (if the run levels permit) before any further processing takes
       place. In this way init can perform various cleanup and recording func‐
       tions during the powerdown of the operating system.

   Setting Environment Variables
       You can set default values for environment variables, for such items as
       time zone and character formatting, in the list of properties  for  the
       svc:/system/environment:init service. See environ(7) for definitions of
       commonly used environment variables.

SECURITY
       init  uses pam(3PAM) for session management. The PAM configuration pol‐
       icy,  configured  in  either  /etc/pam.conf  or  per-service  files  in
       /etc/pam.d/,  specifies  the  session  management module to be used for
       init. Here is a partial pam.conf file with entries for init  using  the
       UNIX session management module.

         init   session   required    pam_unix_session.so.1



       The equivalent PAM configuration using /etc/pam.d/ would be the follow‐
       ing entry in /etc/pam.d/init:

         session required    pam_unix_session.so.1



       If  there  are  no entries for the init service in /etc/pam.conf and no
       /etc/pam.d/init file exists, then the entries for the  "other"  service
       in  /etc/pam.conf  will  be  used.  If  there  are  not  any entries in
       /etc/pam.conf  for  the  "other"   service,   then   the   entries   in
       /etc/pam.d/other will be used.

OPTIONS
       -c comment

           Include  the supplied comment in any messages logged and as much of
           the comment as will fit into the wtmpx record. The comment needs to
           be quoted according to the shell's quoting rules.


       0

           Go into firmware.


       1

           Put the system in system administrator mode. All local file systems
           are mounted. Only a small set of  essential  kernel  processes  are
           left  running.  This  mode  is for administrative tasks such as in‐
           stalling optional utility packages. All files are accessible and no
           users are logged in on the system.

           This request corresponds to a request for smf(7)  to  restrict  the
           system milestone to svc:/milestone/single-user:default.


       2

           Put  the system in multi-user mode. All multi-user environment ter‐
           minal processes and daemons are spawned. This state is commonly re‐
           ferred to as the multi-user state.

           This request corresponds to a request for smf(7)  to  restrict  the
           system milestone to svc:/milestone/multi-user:default.


       3

           Extend multi-user mode by making local resources available over the
           network.

           This  request  corresponds  to a request for smf(7) to restrict the
           system milestone to svc:/milestone/multi-user-server:default.


       4

           Is available to be defined as an alternative multi-user environment
           configuration. It is not necessary for system operation and is usu‐
           ally not used.


       5

           Shut the machine down so that it is safe to remove the power.  Have
           the machine remove power, if possible.


       6

           Stop  the  operating  system and reboot to the state defined by the
           initdefault entry in /etc/inittab.

           The service svc:/system/boot-config:default is enabled by  default.
           When  the config/fastreboot_default property is set to true, init 6
           will bypass certain firmware initialization and test steps, depend‐
           ing on the specific capabilities of the system.


       a,b,c

           Process only those /etc/inittab entries having the a, b, or  c  run
           level  set.  These  are  pseudo-states, which may be defined to run
           certain commands, but which do not cause the current run  level  to
           change.


       Q,q

           Re-examine /etc/inittab.


       S, s

           Enter single-user mode. This is the only run level that doesn't re‐
           quire  the  existence of a properly formatted /etc/inittab file. If
           this file does not exist, then by default, the only legal run level
           that init can enter is the single-user mode.  When  in  single-user
           mode,  the  filesystems required for basic system operation will be
           mounted. When the system comes down to single-user mode, these file
           systems will remain mounted (even if  provided  by  a  remote  file
           server), and any other local filesystems will also be left mounted.
           During  the  transition  down  to  single-user  mode, all processes
           started by init or init.d scripts that should only  be  running  in
           multi-user  mode  are  killed.  In addition, any process that has a
           utmpx entry will be killed. This last condition  ensures  that  all
           port  monitors  started  by  the  SAC  are  killed and all services
           started by these port monitors, including  ttymon  login  services,
           are killed.

           This  request  corresponds  to a request for smf(7) to restrict the
           system milestone to svc:/milestone/single-user:default.


FILES
       /dev/console

           System console device.


       /etc/default/init

           This file is Obsolete and might be removed in a future release. In‐
           stead of obtaining values from this file, the  init  process  reads
           properties  for  the  svc:/system/environment:init service. To make
           changes that were formerly made by  editing  /etc/default/init,  an
           administrator with the System Administrator or System Configuration
           rights  profile  can  set  the corresponding properties of the init
           service instance and refresh the instance.

           This read-only file contains environment variables  and  their  de‐
           fault values. The variables are:

           TZ

               Always  set  to localtime. To set the system time zone, see the
               TZ entry in environ(7).


           CMASK

               The mask (see umask(1)) that init uses and that  every  process
               inherits  from the init process. If not set, init uses the mask
               it inherits from the kernel. Note that init always attempts  to
               apply  a umask of 022 before creating a file, regardless of the
               setting of CMASK.


           LC_CTYPE

               Character characterization information


           LC_MESSAGES

               Message translation


           LC_MONETARY

               Monetary formatting information


           LC_NUMERIC

               Numeric formatting information


           LC_TIME

               Time formatting information


           LC_ALL

               If set, all other LC_*  environmental  variables  take-on  this
               value.


           LANG

               If  LC_ALL is not set, and any particular LC_* is also not set,
               the value of LANG is used  for  that  particular  environmental
               variable.



       /etc/inittab

           Controls process dispatching by init.


       /etc/ioctl.syscon

           ioctl  states  of  the  console,  as saved by init when single-user
           state is entered.


       /etc/svc/volatile/init.state

           init state necessary to recover from failure.


       /var/adm/utmpx

           User access and administration information.


       /var/adm/wtmpx

           History of user access and administration information.


       /var/run/initpipe

           A named pipe used for internal communication.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ Availabilitysystem/core-os


SEE ALSO
       login(1),   sh(1),   stty(1),  who(1),  ioctl(2),  kill(2),  ctime(3C),
       pam(3PAM), termio(4I), init.d(5),  inittab(5),  pam.conf(5),  utmpx(5),
       attributes(7),   environ(7),  pam_unix_session(7),  smf(7),  kernel(8),
       shutdown(8),  sulogin(8),  svc.configd(8),  svc.startd(8),   sysadm(8),
       ttymon(8)

DIAGNOSTICS
       If  init  finds  that  it is respawning an entry from /etc/inittab more
       than ten times in two minutes, it assumes that there is an error in the
       command string in the entry and generates an error message on the  sys‐
       tem  console.  It  then refuses to respawn this entry until either five
       minutes has elapsed or it receives a signal from  a  user-spawned  init
       command.  This prevents init from eating up system resources when some‐
       one makes a typographical error in the inittab file, or  a  program  is
       removed that is referenced in /etc/inittab.

NOTES
       init can be run only by a privileged user.


       The  S  or  s  state must not be used indiscriminately in /etc/inittab.
       When modifying this file, it is best to avoid adding this state to  any
       line other than initdefault.


       If  a  default  state  is  not  specified  in  the initdefault entry in
       /etc/inittab, state 6 is entered. Consequently, the system will loop by
       going to firmware and rebooting continuously.


       If the utmpx file cannot be created when booting the system, the system
       will boot to state "s" regardless of the state specified in the initde‐
       fault entry in /etc/inittab. This can occur if the /var file system  is
       not accessible.


       When a system transitions down to run level 1 or single user (run level
       S or s), the /etc/nologin file (see nologin(5)) is created. Upon subse‐
       quent  transition  to  run  level  2,  3,  or 4 (multi-user state), the
       /etc/nologin file is removed.


       init uses /var/run/initpipe, a named pipe, for internal communication.


       When you shut down an image, services are shut down in  reverse  depen‐
       dency order.


       Transition to run levels 0, 5, or 6 may be blocked if an admin has used
       sysadm(8)  to  place the system into a noreboot maintenance mode, or if
       the config/noreboot property is set to true  on  the  svc:/system/boot-
       config SMF service.

HISTORY
       The  init  daemon  has  always been run with process id 1 in the global
       zone, or on systems without zones. In non-global zones, the init daemon
       for that zone was identified with a process id other than 1 before Ora‐
       cle Solaris 11.4.81. Starting in Solaris 11.4.81, the init daemon for a
       zone will always show as process id 1 when viewed from within the zone.


       When the parent process of a process exits  or  is  killed,  the  child
       process is assigned the init daemon as its parent process. Prior to Or‐
       acle  Solaris  11.4.66,  this was always the global zone's init daemon,
       process id 1. Starting in Solaris 11.4.66, orphaned processes  in  non-
       global  zones  have  their  parent process set to the non-global zone's
       init daemon, which may have a process id other than 1 in releases prior
       to 11.4.81, as described above.


       The ability to block certain run level changes with the sysadm maintain
       command was added in Oracle Solaris 11.4.63.


       Support for the -c option to provide a comment  for  run-level  changes
       was added in Oracle Solaris 11.4.63.


       The  TZ  environment  variable  was  removed  from the default /etc/de‐
       fault/init file in Oracle Solaris 11.4.0.


       The /etc/default/init file was  replaced  by  the  svc:/system/environ‐
       ment:init service properties in Oracle Solaris 11.0.0.


       The  TZ  environment  variable was changed to the value of localtime in
       the default /etc/default/init file in Oracle Solaris 11.0.0.


       Management of system services was migrated from  init  to  the  service
       management facility, smf(7), in Solaris 10 3/05.


       Support for run levels and /etc/inittab was added to Solaris in Solaris
       2.0.

Oracle Solaris 11.4               23 Jun 2025                          init(8)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3