linux启动关机问题

1.前言

用惯了windows图形化界面的朋友们可能觉得计算机的开启与启动时一个简单的问题,只需要在图形化界面上点击关机或直接按电源按钮开机。你也许没有注意到linux与windows本质区别其实是在是否支持多用户。从根本上讲,windows(对于非NT(New Technology)主机系统)其实只支持单用户,即同时只允许一个用户登录系统。而linux不同,在一台linux主机上可能同时登陆着多个用户,这些用户包括远程用户和本机用户。如果你突然关闭计算机,那么可能造成其他用户工作进度丢失的问题。从服务器的角度来讲(linux的主要应用还是用在服务器),在你看不到的远端可能有很多人在使用你的主机工作,浏览网页,发送邮件,传输文件等,如果你此时直接关闭计算机,会对其他人的工作造成影响。此外,如果系统不能正常关机,可能造成未见系统的损坏。所以合理的安排linux的关机是一件十分重要的事情。

2.多用户

这里我们再看一下多用户的概念。
百度百科上的解释:
根据在同一时间使用计算机用户的多少,操作系统可分为单用户操作系统和多用户操作系统。单用户操作系统是指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源,而如果在同一时间允许多个用户同时使用计算机,则称为多用户操作系统。相关链接
另外,本人一直有一个疑问:在linux下同一个用户ID可以在不同的终端同时登陆,这是为什么? 例如:我在vmware中开启centos使用图形化界面登陆后,再使用secureCRT连续使用同一ID登陆两次,再使用tty2使用同一ID登陆一次,使用w命令查询当前登录的用户:
w命令查询结果
发现当前有多个用户同时使用同一个ID登陆在系统中。所以,有以下猜测:linux多用户实际上不是指的不同的用户ID同时登陆系统,而是指即使多个使用同一ID同时多次登陆,这些用户也能同时在线。这是本人对多用户的理解,可能有不对的地方,希望大家能指出。

3.启动linux时的运行级别

在linux下的系统运作模式有七个运行等级(run level):
运行级别0:系统停机状态(即关机),系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS网络文件系统)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
其中级别3 和级别5是正常状态下常用的运行等级。以本人的centos为例,默认情况下centos7是未安装图形化界面的,所以系统开机启动后默认以级别3纯文本模式运行。在安装了GNU的图形化界面后,再次开机发现系统直接进入了图形化界面,说明运行级别自动切换到了5.
那么如何修改linux默认的运行级别呢?
在网上查找资料得知:
系统运行级别的配置文件放在了/etc/inittab文件中
在centos7中使用vi打开该文件却得到如下结果:

inittab
文件中全部是注释(以#开头),开头两句英文大致含义是:
inittab文件已经不再在系统中使用,修改这里的配置将不会对你的系统产生作用。
于是,我进入到ubuntu下看看是否有相同的结果:
ubuntu inittab
发现根本就不存在inittab这个文件,使用ls命令查找也没有找到。说明inittab可能是用在一些比较老的版本,在最新的linux版本中已经弃用。那我们只有接着来看centos7中给的提示。
系统通过target来代替运行级别,默认情况下有两个主要的target:
多用户target:对应级别3
图形target:对应级别5
查看默认级别运行:
systemctl get-default
运行结果如下:
默认级别
说明默认情况下的确是级别5.
接着往下看,设置默认级别运行:
systemctl set-default TARGET.target
我们尝试使用级别3,再查看运行级别:
更改target
可以看到运行级别已经改为3.重启centos,发现的确是从纯文本界面启动的。
纯文本

好了,关于linux的启动级别问题就说到这里。声明一下,不同的distribution的配置可能不同。可根据帮助文档一步一步的配置。

4.关机注意事项
前面提到,linux关机可能会给很多用户带来不便,那我们如何合理的关机呢?
从鸟哥的书上了解到以下几点:

  • 查看系统的使用状态:使用who(或w)命令查看当前有哪些用户在线,使用netstat -a命令查看网络的联机状态,使用ps -aux 查看后台执行的程序。还有很多其他需要关注的地方,比如这台机器是否作为服务器在运行,如果是,是否需要停止某些网络服务,是否需要通知用户服务器的关机时间等。
  • 通知在线用户关机的时刻,以便用户保存当前工作数据。
  • 将数据同步写入硬盘,使用命令sync,在关机之前保存数据。
  • 正确使用关机命令.关于关机命令,常用的有shutdown,init 0,halt,poweroff,重启命令有reboot。(以上命令都需要有root权限)本人习惯用init 0.下面具体来看这些命令的用法。
    1)shutdown命令
    最直接的方法使用man命令查看帮助文档。
    这里写图片描述
    这是一个可以停机、关机或重启的命令。
    参数用法如下:
    语  法:shutdown [-efFhHkpnr][-t 秒数][时间][警告信息]
    -c  当执行”shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令。
     -f  重新启动时不执行fsck。
     -F  重新启动时执行fsck。
     -h  将系统关机。
    -H 停机
    -p 关机(默认情况)
     -k  只是送出信息给所有用户,但不会实际关机。
     -n  不调用init程序进行关机,而由shutdown自己进行。
     -r  shutdown之后重新启动。
     -t<秒数>  送出警告信息和删除信息之间要延迟多少秒。
     [时间]  设置多久时间后执行shutdown指令。可以使用00:00格式,也使用+number设置成多少分钟后关机
     [警告信息]  要传送给所有登入用户的信息,消息用‘message’包含。
     演示:
     shutdown

     2)重启关机(reboot、halt、poweroff):
     这三个命令调用的是相似的函数库,使用man查询其中一个即可了解其他两个。
     halt
     今天就先到这里了。linux的启动关机还有好多内容,水平有限,以后学到更多了再来分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值