[置顶]【Linux init】systemd 服务单元管理

原创 2017年09月14日 09:22:15
系统服务管理systemd  Control the systemd system and service manager  

控制systemd系统和服务管理,并行启动服务时充分发挥了多核处理器的性能,缩短了系统启动所需时间。
先前的使用SysV初始化或Upstart的红帽企业版Linux版本中,使用位于/etc/rc.d/init.d/目录中的bash初始化脚本进行管理。
在RHEL 7/CentOS 7中,这些启动脚本被服务单元取代了。为了向后兼容,旧的service命令在CentOS 7中仍然可用,它会重定向所有命令到新的systemctl工具。
systemctl有很多控制参数,这里仅列出常用的部分,更多命令请看man systemctl

查看systemd进程号

[root@localhost ~]# pidof systemd
1

  单元命令

systemctl start httpd.service # 启动httpd # service httpd start
systemctl stop httpd.service # 停止httpd # service httpd stop
systemctl status httpd # 查看httpd状态 # service httpd status
systemctl restart httpd.service # 重启httpd # service httpd restart
systemctl try-restart httpd.service # 尝试重启httpd # 
systemctl reload httpd.service # 重新加载httpd配置文件 #

systemctl enable sshd.service # 设置sshd开机启动 # chkconfig –level 3 sshd on
systemctl disable sshd.service # 设置sshd开机不启动 # chkconfig –level 3 sshd off
systemctl enable sshd.service --now  -f # 设置自启的同时,立即启动sshd服务, 强制创建并覆盖冲突链接 
systemctl disable sshd.service --now # 设置禁用的同时,立即停止sshd服务
systemctl enable mariadb --no-block --no-reload # 异步操作,不等待结果,不重载配置文件 
systemctl disable mariadb --global # 对全局所有在线用户生效

systemctl list-units --type=service # 列出type为service的所有服务的启动状况 # chkconfig –list
systemctl list-units --state=failed # 查询state为failed的单元
systemctl list-units --state=loaded  --type=socket # 列出已加载的类型为socket的单元
systemctl list-units --plain --no-pager # 分类列出系统单元,直接输出所有结果,不分页

systemctl is-active mariadb.service # 查询mariadb服务状态
systemctl is-enabled mariadb.service # 查询mariadb是否开机自启
  系统命令
systemctl is-system-running  # running 系统完全可控;degraded 系统可控,但存在单元失败;maintenance 营救模式启动;stopping 管理器停止
systemctl suspend  #系统挂起
systemctl hibernate  #系统睡眠
systemctl daemon-reload  #操作系统所有初始化脚本重载
systemctl get-default # 获得默认的系统target
systemctl set-default multi-user.target #设置默认的运行目标
systemctl isolate graphical.target #切换到图形界面


 

自动启动的原理:systemd控制着sysv所管理的程序脚本,由此实现了对sysv的兼容,脚本软连接重定向到chkconfig来管理,系统启动的init进程为systemd,
systemd所管理的程序脚本在/usr/lib/systemd/,而 /etc/systemd/下的都是软连接。操作系统init进程只有systemd这一个。
Created symlink from /etc/systemd/system/multi-user.target.wants/sshd.service to /usr/lib/systemd/system/sshd.service.

[dream361@za ~]$ sudo  systemctl enable network 
network.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig network on

 

network 实际是被chkconfig直接管理,systemctl通过chkconfig实现了对network的间接管理

版权声明:原创文章,转载请注明出处

【Linux init】systemd 服务单元管理

系统服务管理systemd Control the systemd system and service manager  #控制systemd系统和服务管理 先前的使用SysV初始化或Upstart...
  • dream361
  • dream361
  • 2017年04月03日 12:49
  • 484

编写systemd service文件

转自:openSUSE:How to write a systemd service 本教程简单的描述了如何从零开始编写一个 Systemd 服务文件、SysV init 脚本到 Syste...
  • djskl
  • djskl
  • 2015年06月28日 14:52
  • 10563

浅析 Linux 初始化 init 系统: Systemd(4)

linux systemd init系统
  • gxiaop
  • gxiaop
  • 2016年11月21日 20:56
  • 645

linux下如何使用systemctl管理systemd服务与单元

先来个简单总结(后面才是from的链接的内容): 启动一个服务:systemctl start postfix.service 关闭一个服务:systemctl stop postfix.serv...
  • drdairen
  • drdairen
  • 2016年05月18日 09:00
  • 4347

linux第一个用户进程init--systemd

本文是对文章《浅析 Linux 初始化 init 系统,第 3 部分: Systemd》的总结以及网上对systemd的评论,做为学习systemd的第一步,只介绍systemd实现的原理及使用的技术...
  • ITsenlin
  • ITsenlin
  • 2015年01月05日 00:18
  • 1647

CentOS 7之Systemd详解之单元配置systemd.unit

Systemd详解,CentOS 7系统管理 Systemd
  • yuesichiu
  • yuesichiu
  • 2016年05月06日 14:01
  • 3175

编写systemd下服务脚本

编写systemd下服务脚本 Red Hat Enterprise Linux 7(RHEL 7)已经将服务管理工具从SysVinit和Upstart迁移到了systemd上,相应的服务脚本也需要改...
  • u010127879
  • u010127879
  • 2014年07月21日 16:16
  • 12634

Linux开机启动管理---systemd使用

systemd使用
  • qq562029186
  • qq562029186
  • 2017年03月28日 17:43
  • 1283

嵌入式linux init系统(busybox init)

(一)System V init 首先我们来讨论PC上运行的Linux系统,它启动后从BIOS开始,进入bootloader,有bootloader加载内核,进入内核初始化。内核启动的最后一步就是创...
  • rikeyone
  • rikeyone
  • 2016年05月28日 15:53
  • 876

CentOS 7将linux服务加入系统启动 systemd service

在CentOS 7上利用systemctl添加自定义系统服务。 使linux服务开机自启动,注意下列指令中的配置文件需要写绝对路径。 [Unit] Description=Share local p...
  • u010887744
  • u010887744
  • 2016年12月31日 18:55
  • 2407
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[置顶]【Linux init】systemd 服务单元管理
举报原因:
原因补充:

(最多只允许输入30个字)