【RHEL7/CentOS7服务控制之systemctl命令】
Systemd
对于Linux来说,就是一个init
程序,可以作为sysVinit
和Upstat
的替代。
RHEL7监控和控制Systemd的主要命令是systemctl
,该命令可查看系统状态
和管理系统及服务
。
RHEL7的服务systemctl脚本存放在:
/usr/lib/systemd
,有系统(system)
和用户(user)
之分。
.
像一些需要开机不登陆就得运行的程序,就存在系统服务里,即:/usr/lib/systemd/system
目录下。而关于用户的存放在/usr/lib/systemd/user
目录下。
.
其中每一个服务以.service
结尾,一般分为3部分:[Unit]
、[Service]
、[Install]
.
如下图(sshd服务):
[Unit]
这部分是对这个服务的说明,主要内容包括Description和After。
Description用于描述服务;After用于描述服务类型。
.
[Service]
这部分是服务的关键,是服务的一些具体运行参数的设置。
Type=forking
表示此服务是后台运行的形式。PIDFile
指定存放PID的文件路径。ExecStart
为服务的具体运行命令。ExecReload
为重载命令。ExecStop
为停止命令。.
注意:[Service]部分的启动、重启、停止 命令全部要求使用绝对路径!
.
[Install]
这部分是服务安装的相关设置,可设置为多用户的。
需要注意的是,如果服务没有Install部分,一般意味着应该通过其它服务自动调用它们。
使用systemd时,可通过正确编写单元配置文件来解决其依赖关系。
典型的情况是,服务A要求服务B在A启动之前运行。在此情况下,向服务A配置文件中的[Unit]段添加Requires=B和After=B即可.
***
对于玩转RHEL6的小伙伴来说,service
和chkconfig
这两个命令肯定不陌生。
RHEL7系统中的systemctl
是管制服务的主要工具,它整合了service与chkconfig功能于一体。
systemd提供更优秀的框架以表示系统服务间的依赖关系。
systemd实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果。
systemd的目的是尽可能启动更少的进程,尽可能将更多进程并行启动。
systemctl命令的基本格式:systemctl 动作 服务名.service
可使用 systemctl daemon-reload
重新载入systemd,扫描新的或有变动的单元。
系统状态相关
systemctl reboot
重启系统
.
systemctl poweroff
退出系统并停止电源
.
systemctl
或systemctl list-units
输出激活单元
.
systemctl list-units --type=service
列出active状态的服务
.
systemctl list-unit-files
列出所有已安装的服务
.
systemctl --failed
显示启动失败的服务
.
systemd-cgls
以树形列出正在运行的进程
服务控制相关
systemctl start 服务名.service
立即启动服务
.
systemctl stop 服务名.service
立即停止服务
.
systemctl restart 服务名.service
重启服务
.
systemctl reload 服务名.service
重新载入服务
.
systemctl status 服务名.service
输出服务运行状态
.
systemctl is-enabled 服务名.service
检查服务是否为开机自启
.
systemctl enable 服务名.service
启用服务开机自启
.
systemctl disable 服务名.service
禁用服务开机自启
.
systemctl is-active 服务名.service
检查服务是否正在运行
.
systemctl mask 服务名.service
禁用服务
.
systemctl unmask 服务名.service
激活服务
关于单元扩展名
所有可用的单元文件存放在
/usr/lib/systemd/system/
和/etc/systemd/system
目录(后者优先级更高)。
.
一个单元可以是系统服务(.service)、挂载点(.mount)、sockets(.sockets)。
.
使用systemctl控制单元时,通常需要使用单元文件的全名,包括扩展名(例如sshd.service)。
.
但是呢,有些单元文件可以在systemctl中使用简写方式。如果无扩展名,systemctl默认把扩展名当做.service
。例如 sshd 和 sshd.service 是等价的。
.
挂载点会自动转化为相应的.mount单元。例如/home等价于home.mount。
设备会自动转化为相应的.device单元,所以/dev/sda2等价于dev-sda2.device。
做你没做过的事情,叫做成长。
做你不愿意做的事情,叫做改变。
做你不敢做的事情,叫做突破。
兄dei,加油!
不要每天看着励志的句子,过着颓废的生活。
——抖音@张培猪
【RHEL7/CentOS7服务控制之systemctl命令】的更多相关文章
- 【RHEL7/CentOS7防火墙之firewall-cmd命令详解】
目录 Firewalld zone firewall-cmd 开始配置防火墙策略 总结 Redhat Enterprise Linux7已默认使用firewalld防火墙,其管理工具是firewall ...
- 1-20 RHEL7的启动原理和服务控制
大纲: RHEL7启动原理 RHEL7服务启动配置 网络概述 发布内网服务器 ############################################################ ...
- Centos7下的systemctl命令与service和chkconfig
博主使用的操作系统是最新的CentOS 7,所以可能和网上一些老的博文有一定出入,那是因为版本更新的原因. 这里写图片描述1 service service命令用于对系统服务进行管理,比如启动(sta ...
- Centos7中systemctl命令详解
Linux Systemctl是一个系统管理守护进程.工具和库的集合,用于取代System V.service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器.通过Syst ...
- CentOS7 从查看、启动、停止服务说起systemctl
执行命令“systemctl status 服务名.service”可查看服务的运行状态,其中服务名后的.service 可以省略,这是CenOS7以后采用systemd作为初始化进程后产生的变化. ...
- centos7 将服务添加到systemctl
centos7中提供了systemd服务,可以方便的管理各种服务 但是有些通过编译安装的服务systemd里面没有,我们只需要添加一下服务文件即可 以下用nginx作为例子,展示如何添加服务到syst ...
- centos7 systemctl命令
systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起. 实例: 启动nfs服务:systemctl start nfs-server.s ...
- centos7中systemctl命令使用方法和心得体会
使用linux的同学对service和chkconfig两个命令都不陌生,其重要性不言而喻,那么怎么会突然冒出个systemctl命令呢?其实,为了简化操作,systemctl命令将service和c ...
- 服务管理--systemctl命令
摘要: systemctl 是系统服务管理器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起. 任务 旧指令 新指令 使某服务自动启动 chkconfig --level ...
随机推荐
- chrome默认打开隐身模式
chrome图标右键属性,在“目标”后添加参数“ --incognito”(注意是双短划线,不包括双引号,双短划线前加一空格)就可以直接以隐身模式启动chrome了
- hadoop-14-进行libtirpc的rpm包安装
hadoop-14-进行libtirpc的rpm包安装 安装过程中出现了这个问题,进行安装: yum localinstall --nogpgcheck libtirpc-0.2.1-13.el6.x ...
- 求解n位格雷码
/************************************************************************* > File Name: Gray.cpp ...
- zzulioj--1828-- 贪心的小猫咪(贪心模拟)
1828: 贪心的小猫咪 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 14 Solved: 4 SubmitStatusWeb Board Des ...
- 3.bind与仿函数以及普通函数
#include <iostream> #include <string> #include <vector> #include <algorithm> ...
- <Sicily>Inversion Number(线段树求逆序数)
一.题目描述 There is a permutation P with n integers from 1 to n. You have to calculate its inversion num ...
- Python多版本情况下四种快速进入交互式命令行的操作技巧
因为工作需求或者学习需要等原因,部分小伙伴的电脑中同时安装了Python2和Python3,相信在Python多版本的切换中常常会遇到Python傻傻分不清楚的情况,今天小编整理了四个操作技巧,以帮助 ...
- C#中使用Dictionary实现Map数据结构——VC编程网
转载自: http://blog.51cto.com/psnx168 在VC中使用过CMap以及在Java中使用过Map的朋友应该很熟悉,使用Map可以方便实现基于键值对数据的处理,在C#中,你就需要 ...
- javascript面向对象编程,带你认识封装、继承和多态
原文链接:点我 周末的时候深入的了解了下javascript的面向对象编程思想,收获颇丰,感觉对面向对象编程有了那么一丢丢的了解了~很开森 什么是面向对象编程 先上一张图,可以对面向对象有一个大致的了 ...
- MySql系列之初识
数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运 ...