summaryrefslogtreecommitdiff
path: root/sag-0.6.1-www/sag-0.6.1.html/c1705.html
diff options
context:
space:
mode:
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.html387
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
+>&#13; <BLOCKQUOTE
+><P
+>&#8220;Uuno on numero yksi&#8221;
+ (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"
+>&nbsp;</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