diff options
Diffstat (limited to 'sag-0.6.1-www/sag-0.6.1.html/c1705.html')
-rw-r--r-- | sag-0.6.1-www/sag-0.6.1.html/c1705.html | 387 |
1 files changed, 387 insertions, 0 deletions
diff --git a/sag-0.6.1-www/sag-0.6.1.html/c1705.html b/sag-0.6.1-www/sag-0.6.1.html/c1705.html new file mode 100644 index 0000000..fc29fba --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/c1705.html @@ -0,0 +1,387 @@ +<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN"> +<HTML +><HEAD +><TITLE +>init</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet"><LINK +REL="HOME" +TITLE="The Linux System Administrators' Guide" +HREF="book1.html"><LINK +REL="PREVIOUS" +TITLE="Emergency boot floppies" +HREF="x1697.html"><LINK +REL="NEXT" +TITLE="Configuring init to start getty: the /etc/inittab file" +HREF="x1752.html"></HEAD +><BODY +BGCOLOR="#FFFFFF" +TEXT="#000000" +><DIV +CLASS="NAVHEADER" +><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="3" +ALIGN="center" +>The Linux System Administrators' Guide</TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="bottom" +><A +HREF="x1697.html" +>Prev</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="x1752.html" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="CHAPTER" +><H1 +><A +NAME="INIT" +>Chapter 7. <B +CLASS="COMMAND" +>init</B +></A +></H1 +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +><A +HREF="c1705.html#AEN1717" +><B +CLASS="COMMAND" +>init</B +> comes first</A +></DT +><DT +><A +HREF="x1752.html" +>Configuring <B +CLASS="COMMAND" +>init</B +> to start <B +CLASS="COMMAND" +>getty</B +>: the <TT +CLASS="FILENAME" +>/etc/inittab</TT +> file</A +></DT +><DT +><A +HREF="x1812.html" +>Run levels</A +></DT +><DT +><A +HREF="x1852.html" +>Special configuration in <TT +CLASS="FILENAME" +>/etc/inittab</TT +></A +></DT +><DT +><A +HREF="x1880.html" +>Booting in single user mode</A +></DT +></DL +></DIV +><P +> <BLOCKQUOTE +><P +>“Uuno on numero yksi” + (Slogan for a series of Finnish movies.)</P +></BLOCKQUOTE +> + + </P +><P +> This chapter describes the <B +CLASS="COMMAND" +>init</B +> process, + which is the first user level process started by the kernel. + <B +CLASS="COMMAND" +>init</B +> has many important duties, such as + starting <B +CLASS="COMMAND" +>getty</B +> (so that users can log in), + implementing run levels, and taking care of orphaned processes. + This chapter explains how <B +CLASS="COMMAND" +>init</B +> is configured + and how you can make use of the different run levels.</P +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="AEN1717" +><B +CLASS="COMMAND" +>init</B +> comes first</A +></H1 +><P +><B +CLASS="COMMAND" +>init</B +> is one of those programs that + are absolutely essential to the operation of a Linux system, + but that you still can mostly ignore. A good Linux distribution + will come with a configuration for <B +CLASS="COMMAND" +>init</B +> + that will work for most systems, and on these systems there is + nothing you need to do about <B +CLASS="COMMAND" +>init</B +>. Usually, + you only need to worry about <B +CLASS="COMMAND" +>init</B +> if you hook + up serial terminals, dial-in (not dial-out) modems, or if you + want to change the default run level.</P +><P +>When the kernel has started itself (has been loaded + into memory, has started running, and has initialized all + device drivers and data structures and such), it finishes its + own part of the boot process by starting a user level program, + <B +CLASS="COMMAND" +>init</B +>. Thus, <B +CLASS="COMMAND" +>init</B +> is always + the first process (its process number is always 1).</P +><P +>The kernel looks for <B +CLASS="COMMAND" +>init</B +> + in a few locations that have been historically used + for it, but the proper location for it (on a Linux + system) is <TT +CLASS="FILENAME" +>/sbin/init</TT +>. If the + kernel can't find <B +CLASS="COMMAND" +>init</B +>, it tries to run + <TT +CLASS="FILENAME" +>/bin/sh</TT +>, and if that also fails, the startup + of the system fails.</P +><P +>When <B +CLASS="COMMAND" +>init</B +> starts, it finishes the + boot process by doing a number of administrative tasks, such + as checking filesystems, cleaning up <TT +CLASS="FILENAME" +>/tmp</TT +>, + starting various services, and starting a <B +CLASS="COMMAND" +>getty</B +> + for each terminal and virtual console where users should be able + to log in (see <A +HREF="c1905.html" +>Chapter 8</A +>).</P +><P +>After the system is properly up, <B +CLASS="COMMAND" +>init</B +> + restarts <B +CLASS="COMMAND" +>getty</B +> for each terminal + after a user has logged out (so that the next user can log + in). <B +CLASS="COMMAND" +>init</B +> also adopts orphan processes: when + a process starts a child process and dies before its child, the + child immediately becomes a child of <B +CLASS="COMMAND" +>init</B +>. + This is important for various technical reasons, but it is good + to know it, since it makes it easier to understand process lists + and process tree graphs. + + <A +NAME="AEN1743" +HREF="#FTN.AEN1743" +>[1]</A +> + + There are a few variants of <B +CLASS="COMMAND" +>init</B +> + available. Most Linux distributions + use <B +CLASS="COMMAND" +>sysvinit</B +> (written by Miquel + van Smoorenburg), which is based on the System V + <B +CLASS="COMMAND" +>init</B +> design. The BSD versions of Unix have + a different <B +CLASS="COMMAND" +>init</B +>. The primary difference + is run levels: System V has them, BSD does not (at least + traditionally). This difference is not essential. We'll look + at <B +CLASS="COMMAND" +>sysvinit</B +> only. </P +></DIV +></DIV +><H3 +>Notes</H3 +><TABLE +BORDER="0" +CLASS="FOOTNOTES" +WIDTH="100%" +><TR +><TD +ALIGN="LEFT" +VALIGN="TOP" +WIDTH="5%" +><A +NAME="FTN.AEN1743" +HREF="c1705.html#AEN1743" +>[1]</A +></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +WIDTH="95%" +><P +><B +CLASS="COMMAND" +>init</B +> itself is not + allowed to die. You can't kill <B +CLASS="COMMAND" +>init</B +> + even with SIGKILL. </P +></TD +></TR +></TABLE +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="x1697.html" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="book1.html" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="x1752.html" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Emergency boot floppies</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +> </TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Configuring <B +CLASS="COMMAND" +>init</B +> to start <B +CLASS="COMMAND" +>getty</B +>: the <TT +CLASS="FILENAME" +>/etc/inittab</TT +> file</TD +></TR +></TABLE +></DIV +></BODY +></HTML +>
\ No newline at end of file |