2.4 系统启动与关闭

2.4.1 传统的开机启动

过去几年时间里,大部分Linux发行版都更改了启动的方式,基本上那些老的关于如何配置rc.local的资料都作废了,虽然用还是可以用的,但是不推荐。有一点没有改变,Linux还是沿用原来的设计:第一个启动的进程会成为之后所有进程的父进程,原来这个进程是/sbin/init,现在是/lib/systemd/systemd,它们的PID都是1。

启动进程会完成大多数工作,然后显示用户界面。你可以通过dmesg命令查看系统的欢迎信息,这些信息被保存在/var/log/kern.log文件里。

启动进程是用户空间的起始点。在用户空间里,你的程序也可以修改系统的行为,而不需要更改内核的源码。一般来说,Linux发行版实现了UNIX的SystemV启动模式,通过SystemV你可以定义进程的运行等级,包括单用户模式、终端模式、图形界面模式以及关机。

现在Jessie系统已经不使用service命令了,你应该使用systemctl将服务添加到systemd,后会在这个文件夹下出现,你不应该手动去修改这些链接,如图2-11所示。

图2-11

dmesg会显示系统的启动信息,如图2-12所示。

图2-12

在/etc文件夹下的rc0到rc6文件里定义的启动项总会在系统启动时启动,这与定义的启动等级是无关的。

/etc/init.d下的脚本可以用来启动你的数据库、服务器以及其他一些服务。这些服务可以通过status命令来查看状态、通过reload命令来重启。reload命令会重新检查配置文件,但不会完全重启服务。

      $ sudo /etc/init.d/couchbase-server status

我们上面讨论的主要是Sys-V启动方式。这种方式有一个很大的缺点,就是效率低下,接下来介绍一种更高效的启动方式。