运行init 可以更改系统运行等级,用户可以在命令行中提供希望系统运行的等级变量来实现。同样地,也可以使用该方法来关闭系统。
例如,通过init 1 这个命令,可以使init 把当前运行等级改成1,也就是希望停止系统。但如果用户是在多用户模式下,这样的命令有些不合适,因为它不会把“系统正要关闭”这样的信息,通知给系统中的其他用户。
通常在一个多用户系统上,当读者关闭系统时,系统都应该进行广播,并向所有已登录的用户发出警告信息,通知他们系统正在改变运行等级。关机命令的作用就是通知init 把当前的系统运行等级改成停止(0),或者重新引导(6)。也可以用关机命令来设定一个未来时间,在指定时间关机。同时,系统可以广播警告信息,通知给其他用户关机的信息。例如:
shutdown +20
提示:设定在shell 提示符下输入命令20 分钟准时关闭。
如果需要取消关机状态,可以通过发出另一个带符号“- c”的关机命令,其命令如下:
shutdown -c
注意:这样的关闭不能防止某些用户在预计关机过程中进行登录。为了禁止这种新的登录行为,超级身份用户可以创建一个文本文件,名为/etc/nologin,加上合适的文字说明系统已经预定关机,用户可以“改日拜访”等等。
采用手动重新引导服务器的方式关机。由于关机命令无法通知给登录到系统的用户,所以此种方式是不可取的。
但是如果使用关机命令来重新引导服务器,就可以实现所有的用户都能够接收到一条关机信息,从而使他们可以有时间结束或保存正在进行的工作。这样的命令如下:
shutdown -r +20
提示:这样,系统将在20 分钟后重新引导服务器,并且将信息通知给每一位用户。
在系统控制台前,也可以通过传统的方式,用Ctrl+Alt+Delete 组合键来重新引导服务器。究其原因,这是因为在/etc/inittab 文件中写有如下的命令行内容:
ca::ctrlaltdel:/sbin/shudown -t3 -r now
注意:在系统控制台,任何人都可以通过用Ctrl+Alt+Delete 组合键来关机。为防止他人的非法关机,用户可以创建一个名为/etc/shudown.allow 的文件,列出允许关闭系统的用户名。
xiao_chong90 于 2013-03-19 10:01:44发表:
其实linux关机的一些命令都是调用了 init0 进而调用了/sbin/halt。不同的命令,只是具体的传入参数不一样。
nanmenqiang 于 2013-03-16 12:48:13发表:
ding!!!
wjlxue 于 2013-03-07 14:19:52发表:
学习
continue6 于 2012-08-15 18:21:37发表:
太麻烦了
kaitai502 于 2012-04-19 04:03:10发表:
init 0表示关闭系统
求知路漫漫 于 2011-11-10 13:10:03发表:
挺全面的
qxwyp 于 2011-11-06 22:33:41发表:
thanks