telinit - phpMan

Command: man perldoc info search(apropos)  


INIT(8)               Linux System Administrator’s Manual              INIT(8)



NAME
       init, telinit - process control initialization

SYNOPSIS
       /sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx ] [ 0123456Ss ]
       /sbin/telinit [ -t sec ] [ 0123456sSQqabcUu ]

DESCRIPTION
   Init
       Init  is the parent of all processes.  Its primary role is to create processes from
       a script stored in the file /etc/inittab (see inittab(5)).  This file  usually  has
       entries  which  cause  init to spawn gettys on each line that users can log in.  It
       also controls autonomous processes required by any particular system.


RUNLEVELS
       A runlevel is a software configuration of the system which allows only  a  selected
       group  of processes to exist.  The processes spawned by init for each of these run-
       levels are defined in the /etc/inittab file.  Init can be  in  one  of  eight  run-
       levels:  0â€â€“6  and  S or s.  The runlevel is changed by having a privileged user run
       telinit, which sends appropriate signals to init,  telling  it  which  runlevel  to
       change to.

       Runlevels 0, 1, and 6 are reserved. Runlevel 0 is used to halt the system, runlevel
       6 is used to reboot the system, and runlevel 1 is used to get the system down  into
       single  user mode. Runlevel S is not really meant to be used directly, but more for
       the scripts that are executed when entering runlevel 1.  For  more  information  on
       this, see the manpages for shutdown(8) and inittab(5).

       Runlevels 7-9 are also valid, though not really documented. This is because "tradi-
       tional" Unix variants don’t use them.  In case you’re curious, runlevels  S  and  s
       are in fact the same.  Internally they are aliases for the same runlevel.


BOOTING
       After  init  is  invoked as the last step of the kernel boot sequence, it looks for
       the file /etc/inittab to see if there is an entry  of  the  type  initdefault  (see
       inittab(5)).  The  initdefault entry determines the initial runlevel of the system.
       If there is no such entry (or no /etc/inittab at all), a runlevel must  be  entered
       at the system console.

       Runlevel  S  or  s  bring  the  system  to  single  user mode and do not require an
       /etc/inittab file.  In single user mode, a root shell is opened on /dev/console.

       When entering single user mode, init initializes the consoles stty settings to sane
       values. Clocal mode is set. Hardware speed and handshaking are not changed.

       When  entering  a  multi-user  mode  for the first time, init performs the boot and
       bootwait entries to allow file systems to be mounted before users can log in.  Then
       all entries matching the runlevel are processed.

       When  starting  a  new  process, init first checks whether the file /etc/initscript
       exists. If it does, it uses this script to start the process.

       Each time a child terminates, init records the fact  and  the  reason  it  died  in
       /var/run/utmp and /var/log/wtmp, provided that these files exist.

CHANGING RUNLEVELS
       After  it  has  spawned  all  of the processes specified, init waits for one of its
       descendant processes to die, a powerfail signal, or until it is signaled by telinit
       to change the system’s runlevel.  When one of the above three conditions occurs, it
       re-examines the /etc/inittab file.  New entries can be added to this  file  at  any
       time.   However,  init  still waits for one of the above three conditions to occur.
       To provide for an instantaneous response, the telinit Q or q command  can  wake  up
       init to re-examine the /etc/inittab file.

       If  init  is  not  in single user mode and receives a powerfail signal (SIGPWR), it
       reads the file /etc/powerstatus. It then starts a command based on the contents  of
       this file:

       F(AIL) Power is failing, UPS is providing the power. Execute the powerwait and pow-
              erfail entries.

       O(K)   The power has been restored, execute the powerokwait entries.

       L(OW)  The power is failing and the UPS has a low battery. Execute the powerfailnow
              entries.

       If  /etc/powerstatus  doesn’t exist or contains anything else then the letters F, O
       or L, init will behave as if it has read the letter F.

       Usage of SIGPWR and /etc/powerstatus is discouraged. Someone  wanting  to  interact
       with  init should use the /dev/initctl control channel - see the source code of the
       sysvinit package for more documentation about this.

       When init is requested to change the runlevel, it sends the warning signal  SIGTERM
       to  all  processes that are undefined in the new runlevel.  It then waits 5 seconds
       before forcibly terminating these processes via the SIGKILL signal.  Note that init
       assumes that all these processes (and their descendants) remain in the same process
       group which init originally created for them.  If any process changes  its  process
       group  affiliation  it  will  not receive these signals.  Such processes need to be
       terminated separately.

TELINIT
       /sbin/telinit is linked to /sbin/init.  It takes a one-character argument and  sig-
       nals  init  to  perform  the  appropriate action.  The following arguments serve as
       directives to telinit:

       0,1,2,3,4,5 or 6
              tell init to switch to the specified run level.

       a,b,c  tell init to process only those /etc/inittab file  entries  having  runlevel
              a,b or c.

       Q or q tell init to re-examine the /etc/inittab file.

       S or s tell init to switch to single user mode.

       U or u tell  init  to  re-execute itself (preserving the state). No re-examining of
              /etc/inittab file happens. Run level should be  one  of  Ss12345,  otherwise
              request would be silently ignored.

       telinit  can  also  tell init how long it should wait between sending processes the
       SIGTERM and SIGKILL signals.  The default is 5 seconds, but  this  can  be  changed
       with the -t sec option.

       telinit can be invoked only by users with appropriate privileges.

       The  init  binary checks if it is init or telinit by looking at its process id; the
       real init’s process id is always 1.  From this it follows that instead  of  calling
       telinit one can also just use init instead as a shortcut.

ENVIRONMENT
       Init sets the following environment variables for all its children:

       PATH   /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin

       INIT_VERSION
              As the name says. Useful to determine if a script runs directly from init.

       RUNLEVEL
              The current system runlevel.

       PREVLEVEL
              The previous runlevel (useful after a runlevel switch).

       CONSOLE
              The  system console. This is really inherited from the kernel; however if it
              is not set init will set it to /dev/console by default.

BOOTFLAGS
       It is possible to pass a number of flags to init from the boot monitor (eg.  LILO).
       Init accepts the following flags:

       -s, S, single
            Single user mode boot. In this mode /etc/inittab is examined and the bootup rc
            scripts are usually run before the single user mode shell is started.


       1-5  Runlevel to boot into.


       -b, emergency
            Boot directly into a single user  shell  without  running  any  other  startup
            scripts.


       -a, auto
            The LILO boot loader adds the word "auto" to the command line if it booted the
            kernel with the default command line (without user intervention).  If this  is
            found  init  sets  the "AUTOBOOT" environment variable to "yes". Note that you
            cannot use this for any security measures - of course the user  could  specify
            "auto" or -a on the command line manually.


       -z xxx
            The  argument  to -z is ignored. You can use this to expand the command line a
            bit, so that it takes some more space on the stack. Init can  then  manipulate
            the command line so that ps(1) shows the current runlevel.


INTERFACE
       Init  listens  on a fifo in /dev, /dev/initctl, for messages.  Telinit uses this to
       communicate with init. The interface is not very well documented or finished. Those
       interested  should  study  the  initreq.h file in the src/ subdirectory of the init
       source code tar archive.

SIGNALS
       Init reacts to several signals:

       SIGHUP
            Has the same effect as telinit q.


       SIGUSR1
            On receipt of this  signals,  init  closes  and  re-opens  its  control  fifo,
            /dev/initctl. Useful for bootscripts when /dev is remounted.

       SIGINT
            Normally the kernel sends this signal to init when CTRL-ALT-DEL is pressed. It
            activates the ctrlaltdel action.

       SIGWINCH
            The kernel sends this signal when the KeyboardSignal key is hit.  It activates
            the kbrequest action.


CONFORMING TO
       Init  is  compatible  with  the  System  V init. It works closely together with the
       scripts in the directories /etc/init.d and  /etc/rc{runlevel}.d.   If  your  system
       uses  this  convention,  there should be a README file in the directory /etc/init.d
       explaining how these scripts work.

FILES
       /etc/inittab
       /etc/initscript
       /dev/console
       /var/run/utmp
       /var/log/wtmp
       /dev/initctl

WARNINGS
       Init assumes that processes and descendants of processes remain in the same process
       group  which was originally created for them.  If the processes change their group,
       init can’t kill them and you may end up with two processes reading from one  termi-
       nal line.

DIAGNOSTICS
       If  init  finds that it is continuously respawning an entry more than 10 times in 2
       minutes, it will assume that there is an error in the command string,  generate  an
       error  message on the system console, and refuse to respawn this entry until either
       5 minutes has elapsed or it receives a signal.  This prevents  it  from  eating  up
       system  resources when someone makes a typographical error in the /etc/inittab file
       or the program for the entry is removed.

AUTHOR
       Miquel van Smoorenburg (miquels AT cistron.nl), initial manual page by Michael  Haardt
       (u31b3hs AT pool.de).

SEE ALSO
       getty(1),   login(1),   sh(1),   runlevel(8),   shutdown(8),  kill(1),  inittab(5),
       initscript(5), utmp(5)



                                 18 April 2003                         INIT(8)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2009-01-10 11:41 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!