浅谈linux6:以systemd为例,初探系统服务管理

假如你用的不是很老版本的unix系统,那么你一定对systemd不甚陌生。

查看服务:systemctl status servicename

停止服务:systemctl stop  servicename

这些常见操作,基本大家都有涉及。

那么,systemd到底是何方神圣呢?为什么它可以管理那么多的系统服务?它本身也是个服务么?需要安装么?为什么在开篇要提到版本差异?

systemd是linux下的一款init软件,开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低shell的系统开销的效果,最终垫底现在常用的system V与BSO风格的init程序。

这段话当然是我从百度百科抄下来的啦……

然后接着……什么是init软件?

init是linux不可或缺的一个程序,由内核启动,用来对服务和应用程序进行初始化。

所以,现在,很多问题就迎刃而解了。

内核启动systemd,systemd用来管理服务和应用。

当然也有更低版本的init程序,比如sysvinit。

附上小小的对比图:


一些常用命令:

systemctl list-units ##列出当前系统服务的状态
systemctl list-unit-files ##列出服务的开机状态
systemctl status sshd ##查看指定服务的状态
systemctl stop sshd ##关闭指定服务
systemctl start sshd ##开启指定服务
systemctl restart sshd ##从新启动服务
systemctl enable sshd ##设定指定服务开机开启
systemctl disable sshd ##设定指定服务开机关闭
systemctl reload sshd ##使指定服务从新加载配置
systemctl list-dependencies sshd ##查看指定服务的倚赖关系
systemctl mask sshd ##冻结指定服务
systemctl unmask sshd ##启用服务
systemctl set-default multi-user.target ##开机不开启图形

systemctl set-default graphical.target ##开机启动图形

服务状态:

systemctl status 服务名称

loaded ##系统服务已经初始化完成,加载过配置
active(running) ##正有一个或多个程序正在系统中执行,
        # vsftpd 就是这种模式
atcive(exited) ##仅执行一次就正常結束的服务,
        # 目前并没有任何程序在系統中执行
atcive(waiting) ##正在执行当中,
        # 不过还再等待其他的事件才能继续处理
inactive          ##服务关闭
enbaled ##服务开机启动
disabled         ##服务开机不自启
static ##服务开机启动项不可被管理
failed ##系统配置错误

猜你喜欢

转载自blog.csdn.net/Daisy_zye/article/details/79887526