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 axflTake 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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access