Linux Systemd——在RHEL/CentOS 7中启动/停止/重启服务

RHEL/CentOS 7.0中一个最主要的改变,就是切换到了systemd。它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理。systemd兼容SysV和Linux标准组的启动脚本。

Systemd是一个Linux操作系统下的系统和服务管理器。它被设计成向后兼容SysV启动脚本,并提供了大量的特性,如开机时平行启动系统服务,按需启动守护进程,支持系统状态快照,或者基于依赖的服务控制逻辑。

先前的使用SysV初始化或Upstart的红帽企业版Linux版本中,使用位于/etc/rc.d/init.d/目录中的bash初始化脚本 进行管理。而在RHEL 7/CentOS 7中,这些启动脚本被服务单元取代了。服务单元以.service文件扩展结束,提供了与初始化脚本同样的用途。要查看、启动、停止、重启、启用或者禁用 系统服务,你要使用systemctl来代替旧的service命令。

注:为了向后兼容,旧的service命令在CentOS 7中仍然可用,它会重定向所有命令到新的systemctl工具。

使用systemctl来启动/停止/重启服务

要启动一个服务,你需要使用如下命令:

  1. # systemctl start httpd.service

这会启动httpd服务,就我们而言,Apache HTTP服务器。

要停掉它,需要以root身份使用该命令:

  1. # systemctl stop httpd.service

要重启,你可以使用restart选项,如果服务在运行中,它将重启服务;如果服务不在运行中,它将会启动。你也可以使用try-start选项,它只会在服务已经在运行中的时候重启服务。同时,reload选项你也可以有,它会重新加载配置文件。

  1. # systemctl restart httpd.service
  2. # systemctl try-restart httpd.service
  3. # systemctl reload httpd.service

我们例子中的命令看起来会像下面这样:

检查服务状态

要检查服务状态,你可以使用status选项,看这里:

  1. # systemctl status httpd.service

输出结果就像这样:

它会告诉你运行中的服务的方方面面。

使用启用/禁用服务来控制开机启动

你也可以使用enable/disable选项来控制一个服务是否开机启动,命令如下:

  1. # systemctl enable httpd.service
  2. # systemctl disable httpd.service

输出结果看这里:

你也可以使用命令is-enabled查询服务是否开机自启动,命令如下:

1.# systemctl is-enabled servicename.service

虽然在过去的几年中,对systemd的采用饱受争议,然而大多数主流发行版都已经逐渐采用或打算在下一个发行版中采用它。所以,它是一个有用的工具,我们需要好好熟悉它。

时间: 2024-10-20 22:20:13

Linux Systemd——在RHEL/CentOS 7中启动/停止/重启服务的相关文章

在CentOS 7中启动/停止/重启服务

RHEL/CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Linux标准组的启动脚本. Systemd是一个Linux操作系统下的系统和服务管理器.它被设计成向后兼容SysV启动脚本,并提供了大量的特性,如开机时平行启动系统服务,按需启动守护进程,支持系统状态快照,或者基于依赖的服务控制逻辑. 先前的使用SysV初始化或Upstart的红帽企业版Linux版本

如何在CentOS系统中安装配置SNMP服务

CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络管理协议)能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长.网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题.本文主要介绍如何在CentOS系统中安装配置SNMP服务. 工具/原料 CentOS操作系统 方法/步骤 使用SNMP服务前

linux下nginx启动停止重启控制脚本

这是控制nginx服务的脚本文件,包括控制nginx的启动.重启.停止.平滑重启.对配置文件的额检查. [[email protected] ~]# cat nginx.sh #!/bin/env bash # description:nginx server   ###必须加描述 # nginx - this script is used to control nginx service # processname nginx # chkconfig: - 85 15 # edit by su

Windows下使用service.bat安装tomcat服务, 启动停止tomcat服务

在项目开发过程中,以前只是在MyEclipse中配置.启动.停止tomcat服务器 如果只想在机器中使用tomcat服务器,而不想安装MyEclipse,可以使用service.bat 将tomcat安装到计算机中的服务管理系统services.msc,就可以使用DOS命令启动或 停止tomcat服务. 一般在tomcat的bin目录下有service.bat文件,如果没有就去下载一个有此文件 的tomcat. 一.win + R.cmd.Enter    打开cmd窗口, 此时工作目录是在C盘

Delphi启动/停止Windows服务,启动类型修改为"自动"

unit U_StartServices; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, WinSVC, StdCtrls; type TForm1 = class(TForm) btn_StartServices: TButton; btn_StopServices: TButton; procedure btn_StartServicesCl

在DOS bat启动停止MSSQLSERVER服务

很 多朋友都会跟我遇到同样的问题,由于机器上装了SQL Server2005,导致机器开机变慢,没办法只能让SQL Server (MSSQLSERVER)服务默认不启动.但是每次要使用SQL Server时就必须从控制面板-管理工具-服务里面把它启动起来,比较麻烦了,呵呵. 所以想到从DOS下面启动和关闭SQL Server (MSSQLSERVER),在运行里面执行一下就可以了,命令代码如下: 启动:net start mssqlserver 停止:net stop mssqlserver

RHEL/CentOS 7中Nginx的systemd service

源码安装的nginx ,没有systemd service 管理 nginx 下面教程,告诉你如何设置nginx 的systemd service nginx systemd的服务文件是/usr/lib/systemd/system/nginx.service [Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network.target remote-fs.target nss-look

Linux学习笔记:CentOS 5/6启动过程

CentoS 6 启动流程: 1.加载BIOS的硬件信息,获取第一个启动设备. 2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息 3.加载核心操作系统的核心信息,核心开始解压缩,(加载initramfs.img)并尝试驱动所有的硬件设备. 4.核型执行init程序并获取运行信息. 5.Init执行/etc/rc.d/rc.sysinit文件. 6.启动核心的外挂模块(/etc/modprobe.conf). 7.Init执行运行的各个批处理文件(scripts). 8.Init执

Linux shell脚本启动 停止 重启jar包

最近做的微服务jar包想弄在持续集成中自动化部署,所以首先得有一个操作jar包的脚本 只需将jar文件的路径替换到APP_NAME的值就可以了,其他不用改 注意:window编辑的shell文件,通过WinSCP上传的Linux服务器,需要改变文件的格式(查看文件格式,vim编辑后输入 :set ff),还有环境变量,一定要配置啊 修改格式操作步骤: # vim robotcenter.sh 然后输入  set:ff=unix # :wq!  保存退出 #!/bin/bash export JA