Chapter 7. Starting and Stopping Linux
Introduction
There are a lot of ways to start and stop a Linux system. Plus, there are initialization scripts for controlling how various services start up, and there are different system runlevels, each of which can run a different set of services. Run this command:
$ ps axfl
Take a look at the top, at process number 1 (this is slimmed-down; yours will show more columns and lines):
UID PID PPID STAT TTY TIME COMMAND 0 1 0 S ? 0:03 init
That’s init , the grandmother of all processes on a Linux system. Notice that the ppid , or parent process ID, is zero, because init is the first process started after the kernel runs.
But why doesn’t ps afxl show init as the root of the process tree? The ppids tell the story:
UID PID PPID STAT TTY TIME COMMAND 0 1 0 S ? 0:03 init 0 2 1 SW ? 0:00 [keventd] 0 0 1 SWN ? 0:00 [ksoftirqd_CPU0] 0 0 1 SW ? 0:00 [kswapd] 0 10 1 SW ? 0:00 [kreiserfsd] 0 101 1 SW ? 0:00 [kapmd] 1 274 1 S ? 0:00 /sbin/portmap 0 360 1 S ? 0:00 /sbin/syslogd 0 376 1 S ? 0:00 /usr/sbin/slapd 0 387 376 S ? 0:00 \_ /usr/sbin/slapd 0 388 387 S ? 0:00 \_ /usr/sbin/slapd 0 389 1 S ? 0:00 /usr/sbin/cupsd
The Linux boot process goes something like this:
The system BIOS initializes hardware, then loads the boot sector.
The master boot record (MBR) loads the bootloader, which points the way to the kernel.
The kernel initializes peripheral devices, loads drivers, and mounts the root filesystem, then calls /sbin/init.
/sbin/init is the master startup program ...
Get Linux Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.