发信人: sungang(笨刚)
整理人: sungang(2003-09-16 11:25:33), 站内信件
|
3.1.3 关闭系统
与启动系统类似,关闭系统也属于管理员的操作任务,但是对于个人计算机用户,这也是必须掌握的第一步操作之一。
由于FreeBSD是多任务系统,同时有多个进程在运行,并且使用了磁盘缓冲技术以提供更佳的系统效率,因此使用直接关闭电源的方法关闭计算机会对系统造成破坏。当然,系统有能力自动修复,在非正常关机之后的再次启动过程中,系统将能够侦测到上次没有正确关闭系统,并自动运行硬盘检查程序fsck,来检查并修复硬盘的错误,但并不能保证100%能修复好系统,一旦发生严重错误就无法修复,因此必须正确关闭系统,而不能直接关闭电源。
关机需要在以root身份登录进入系统之后,使用shutdown命令来进行关闭系统,需要使用-h参数,表示halt,停机操作:
# shutdown -h now
Feb 4 12:18:26 wb shutdown: halt by root:
Feb 4 12:18:29 wb syslogd: exiting on signal 15
syncing disks... done
The operating system has halted.
Please press any key to reboot.
一些情况下,如更新了系统内核时,要重新启动系统。则应使用-r参数,表示reboot,重新启动系统:
# shutdown -r now
如果没有使用-h或-r参数,shutdown命令将试图进入单用户状态,单用户状态属于一种系统的管理状态,此时系统中只有必要的系统任务,而用来执行正常工作的很多任务将没有启动,这样系统操作就更安全。事实上,除了采用shutdown命令进入单用户状态之外,在启动过程中使用特殊指令也能进入单用户状态,并且由于系统刚刚启动,因此状态更为干净。我们将在后面章节中讨论单用户状态的有关部门操作。
而参数now为一个时间参数, “now” 表示立即执行shutdown操作。由于FreeBSD是多用户系统,在执行shutdown时会有其他用户通过网络使用这个系统,正常情况下应该延迟一端时间再执行shutdown操作,给那些正在连接的用户一定的时间用于保存数据并退出系统,就需要使用其他时间参数来启动shutdown。
例如:下面命令将使系统在2分钟后停机,同时也将向所有正在登录的用户发送广播信息,将后面参数中的信息通知当前登录的各个用户:
# shutdown -h +2 “Hi guys! please logout”
时间参数除了这种增量形式,也可以使用不用”+”号的绝对形式来表示,那么时间参数就为hhmm的格式,如0120表示1:20等。
在系统还没有停机或重起的时间间隔内,shutdown将产生/etc/nologin文件,而系统中的login程序将检查是否存在这个文件,当发现存在这个文件时就阻止非root用户登录系统。正常情况下shutdown执行真正的停机或重起操作时会删除这个文件,如果这个文件因为某些原因而没有被删除,那么系统login进程将不允许普通用户登录。
用于立即启动和停机的命令还有reboot和halt,相当于使用-r或-h参数的shutdown指令。因为这是立即执行的命令,没有提供警告登录用户的功能。由于命令相对简单,因此单人使用的系统中可以很方便的使用。
如果使用者没有使用root登录进系统,但是可以接触到控制台,那么仍然可以正常关机而不破坏系统。使用者可以使用Ctrl-Alt-Del热键重起计算机,就在计算机进入BIOS自检时,再关闭计算机的电源。这种方法在系统屏蔽了Ctrl-Alt-Del热键的启动能力之后就不再有效。
在重新定制内核时使用 “options SC_DISABLE_REBOOT” 可以屏蔽系统控制台的热启动功能。
|
|