Sunday, October 19, 2008

The Linux init process

When linux boots, it loads and runs the core operating system programs from the hard drive. The core operating system is designed to run other programs. A process called init starts the initial set of processes on the linux system. What the init process starts depend on the following:

a.       The run level – an identifier that identifies a system configuration in which only a selected group of processes can exist

b.      The contents of the /etc/inittab file – a text file that specifies which processes to start at the different run levels

c.       A number of shell scripts that are executed at specific run levels – the scripts are located in the /etc/init.d directory and its sub-directories (which have names that begin with rc)

Most linux distributions use seven run levels – 0 through 6:

Run Level

Meaning

0

Shuts down the system

1

Runs in single-user standalone mode (no one else can log in; you work at the text console

2

Runs in multi-user mode (Debian, Ubuntu, Xandros use run level 2 as the default run level)

3

Runs in full multi-user mode (used for text mode login in Fedora, MEPIS and SUSE)

4

Runs in full multi-user mode (unused in Fedora, MEPIS, and SUSE)

5

Runs in full multi-user mode (used as the default run level with graphical login in Fedora, MEPIS, and SUSE)

6

Reboots the system

 

The current run level together with the contents of the /etc/inittab file control which processes init starts in Linux.

Commands

Purpose

/sbin/runlevel

Check current run level

Init  

Run at run level . By default the command waits 20s before stopping all current processes and starting the new processes at run level.

Init –t

Same as above, but wait seconds before changing run level.

telinit

Same as above. This is the symbolic link to init.

 

No comments: