扣丁学堂Linux培训之如何查看系统运行管理程序
2018-11-26 13:50:15
430浏览
今天扣丁学堂Linux培训老师给大家详细介绍一下关于如何弄清Linux系统运行何种系统管理程序的详细介绍,希望对同学们有所帮助,我们大家都知道SystemV和systemd两种系统管理器。SystemV(简写SysV)是老式系统所使用的古老且传统的初始化系统及系统管理器,下面我们一起来看一下吧。
Systemd是全新的初始化系统及系统管理器,并且已被大部分主流Linux发行版所采用。
Linux系统中主要有三种有名而仍在使用的初始化系统。大多数Linux发行版都使用其中之一。
什么是初始化系统管理器?
在基于Linux/Unix的操作系统中,init(初始化的简称)是内核启动系统时开启的第一个进程。
它持有的进程ID(PID)号为1,其在后台一直运行着,直到关机。
init会查找/etc/inittab文件中相应配置信息来确定系统的运行级别,然后根据运行级别在后台启动所有的其它进程和应用。
作为Linux启动过程的一部分,BIOS、MBR、GRUB和内核进程在此进程之前就被激活了。
下面列出的是Linux的可用运行级别(存在七个运行级别,从0到6)。
0:停机
1:单用户模式
2:多用户,无NFS(LCTT译注:NFS即NetworkFileSystem,网络文件系统)
3:全功能多用户模式
4:未使用
5:X11(GUI–图形用户界面)
6:重启
下面列出的是Linux系统中广泛使用的三种初始化系统。
SystemV(SysV):是类Unix操作系统传统的也是首款初始化系统。
Upstart:基于事件驱动,是/sbin/init守护进程的替代品。
Systemd:是一款全新的初始化系统及系统管理器,它被所有主流的Linux发行版实现/采用,以替代传统的SysV初始化系统。
什么是SystemV(SysV)?
SystemV(SysV)是类Unix操作系统传统的也是首款初始化系统。init是系统由内核启动期间启动的第一个进程,它是所有进程的父进程。
起初,大多数Linux发行版都使用名为SystemV(SysV)的传统的初始化系统。多年来,为了解决标准版本中的设计限制,发布了几个替代的初始化系统,例如launchd、ServiceManagementFacility、systemd和Upstart。
但只有systemd最终被几个主流Linux发行版所采用,以替代传统的SysV。
什么是Upstart?
Upstart基于事件驱动,是/sbin/init守护进程的替代品。用来在启动期间控制任务和服务的启动,在关机期间停止它们,及在系统运行过程中监视它们。
它最初是为Ubuntu发行版开发的,但也可以在所有的Linux发行版中部署运行,以替代古老的SystemV初始化系统。
它用于Ubuntu9.10到14.10版本和基于RHEL6的系统中,之后的被systemd取代了。
什么是systemd?
systemd是一款全新的初始化系统及系统管理器,它被所有主流的Linux发行版实现/采用,以替代传统的SysV初始化系统。
systemd与SysV和LSB(LCTT译注:LinuxStandardsBase)初始化脚本兼容。它可以作为SysV初始化系统的直接替代品。其是内核启动的第一个进程并占有数字1的PID,它是所有进程的父进程。
Fedora15是第一个采用systemd而不是upstart的发行版。systemctl是一款命令行工具,它是管理systemd守护进程/服务(如start、restart、stop、enable、disable、reload和status)的主要工具。
systemd使用.service文件而不是(SysV初始化系统使用的)bash脚本。systemd把所有守护进程按顺序排列到自己Cgroups(LCTT译注:Cgroups是controlgroups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组所使用的物理资源,如:cpu、memory、IO等的机制。最初由Google的工程师提出,后来被整合进Linux内核。Cgroups也是LXC为实现虚拟化所使用的资源管理手段,可以说没有cgroups就没有LXC)中,所以通过查看/cgroup/systemd文件就可以查看系统层次结构。
在Linux上如何识别出系统管理器
在系统上运行如下命令来查看运行着什么系统管理器:
(LCTT译注:原文繁冗啰嗦,翻译时进行了裁剪整理。)
方法1:使用ps命令
ps–显示当前进程快照。ps会显示选定的活动进程的信息。其输出不能确切区分出是SystemV(SysV)还是upstart,所以我建议使用其它方法。
#ps-p1|grep"init\|upstart\|systemd"
1?00:00:00init
方法2:使用rpm命令
RPM即RedHatPackageManager(红帽包管理),是一款功能强大的安装包管理命令行工具,在基于RedHat的发行版中使用,如RHEL、CentOS、Fedora、openSUSE和Mageia。此工具可以在系统/服务上对软件进行安装、更新、删除、查询及验证等操作。通常RPM文件都带有.rpm后缀。
RPM会使用必要的库和依赖库来构建软件,并且不会与系统上安装的其它包冲突。
#rpm-qf/sbin/init
SysVinit-2.86-17.el5
方法3:使用/sbin/init文件
/sbin/init程序会将根文件系统从内存加载或切换到磁盘。
这是启动过程的主要部分。这个进程开始时的运行级别为“N”(无)。/sbin/init程序会按照/etc/inittab配制文件的描述来初始化系统。
#/sbin/init--version
init(upstart0.6.5)
Copyright(C)2010CanonicalLtd.
Thisisfreesoftware;seethesourceforcopyingconditions.ThereisNOwarranty;notevenforMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.
以上就是扣丁学堂Linux培训之如何查看系统运行管理程序的详细介绍,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询,此外还有与时俱进的Linux课程体系和Linux视频直播课供大家学习,想要学好Linux开发技术的小伙伴快快行动吧。扣丁学堂Linux技术交流群:422345477。
【关注微信公众号获取更多学习资料】
查看更多关于“Linux培训资讯”的相关文章>>
标签:
Linux培训
Linux视频教程
红帽Linux视频
Linux学习视频
Linux入门视频