【linux systemctl】Linux命令之systemctl命令

article/2025/8/28 2:44:23

一、systemctl命令简介

  CentOS 5使用SysV init;CentOS 6使用Upstart,CentOS 7使用Systemd管理守护进程。centos7采用 systemd管理,服务独立的运行在内存中,服务响应速度快,但占用更多内存。独立服务的服务启动脚本都在目录 /usr/lib/systemd/system里。Systend的新特性:

  • 系统引导时实现服务的并行启动;
  • 按需激活进程;
  • 系统实现快照;
  • 基于依赖关系定义服务的控制逻辑;

  systemctl可用于内省和控制“systemd”系统和服务管理器的状态。centos7.x系统环境下我们经常使用此命令启停服务,实际上此命令除了其他独立服务还有很多其他用途。

二、systemctl使用示例

1、查看命令帮助

[root@s153 system]# systemctl --help
systemctl [OPTIONS…] {COMMAND} …

2、启动服务

  接下来的操作实例以管理xinetd服务为例。

[root@s153 system]# systemctl start xinetd

3、查看服务状态

[root@s153 system]# systemctl status xinetd
● xinetd.service - Xinetd A Powerful Replacement For Inetd
Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
Active: active (running) since 三 2022-07-20 10:29:26 CST; 1min 53s ago
Process: 15831 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
Main PID: 15832 (xinetd)
CGroup: /system.slice/xinetd.service
└─15832 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid

4、停止服务

[root@s153 system]# systemctl stop xinetd

5、查看服务是否活跃

[root@s153 system]# systemctl is-active xinetd
inactive
[root@s153 system]# systemctl start xinetd
[root@s153 system]# systemctl is-active xinetd
active

6、重新加载服务配置

  reload是在不重启服务的情况下重新加载配置文件。

[root@s153 system]# systemctl reload xinetd

7、重启服务

  restart命令实际上是先stop,然后start。

[root@s153 system]# systemctl restart xinetd

8、列出所有可用单元

在这里插入图片描述

[root@s153 system]# systemctl list-unit-files
UNIT FILE STATE
proc-sys-fs-binfmt_misc.automount static
dev-hugepages.mount static

9、列出所有已加载单元

在这里插入图片描述

[root@s153 system]# systemctl list-units
UNIT LOAD ACTIVE SUB DESCRIPTION
proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point
sys-devices-pci0000:00-0000:00:01.1-ata2-host1-target1:0:0-1:0:0:0-block-sr0.device loaded active plugged QEMU_DVD-ROM CentOS_7_x86_64
sys-devices-pci0000:00-0000:00:05.0-virtio1-host2-target2:0:0-2:0:0:0-block-sda-sda1.device loaded active plugged QEMU_HARDDISK 1

10、查看可用systemctl管理的所有服务

在这里插入图片描述
  systemctl可用管理单元分很多种,日常工作中我们仅仅用于管理服务,unit的常见类型:

  • Service unit: 文件扩展名.service, 用于定义系统服务;
  • Target unit: 文件扩展名.target, 用于模拟实现"运行级别";
  • Device unit: 文件扩展名.device, 用于定义内核识别的设备;
  • Mount unit: 文件扩展名.mount, 用于定义文件系统的挂载点;
  • Socket unit: 文件扩展名.socket, 用于标识进程间通信用到的socket文件;
  • Snapshot unit: 文件扩展名.snapshot, 用于管理系统快照;
  • Swap unit: 文件扩展名.swap, 用于标识swap设备;
  • Automount unit: 文件扩展名.automount, 用于定义文件系统自动点设备;
  • Path unit: 文件扩展名.path, 用于定义文件系统中的一文件或目录;

11、注销服务

  服务被注销后该服务就无法通过systemctl进行启停管理。

[root@s153 system]# systemctl mask firewalld
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.
[root@s153 system]# systemctl start firewalld
Failed to start firewalld.service: Unit is masked.

12、取消注销服务

[root@s153 system]# systemctl unmask firewalld
Removed symlink /etc/systemd/system/firewalld.service.
[root@s153 system]# systemctl start firewalld

13、设置服务开机自启动

[root@s153 system]# systemctl enable xinetd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/xinetd.service to /usr/lib/systemd/system/xinetd.service.

14、取消服务开机自启动

[root@s153 system]# systemctl disable xinetd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/xinetd.service.

15、查看机器信息

[root@s153 system]# systemctl list-machines
NAME STATE FAILED JOBS
s153 (host) running 0 0

1 machines listed.

16、查看系统环境变量

[root@s153 system]# systemctl show-environment
LANG=zh_CN.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

17、重新加载unit文件

  如果手动修改了unit文件,可以使用此命令重新加载。

[root@s153 system]# systemctl daemon-reload

18、创建一个系统快照

[root@s153 system]# systemctl snapshot wuhs
wuhs.snapshot

19、删除指定快照

[root@s153 system]# systemctl delete wuhs

20、查看服务是否开机自启动

[root@s153 system]# systemctl is-enabled xinetd.service
enabled

21、杀死服务

[root@s153 system]# systemctl kill xinetd
[root@s153 system]# systemctl is-failed xinetd
inactive

22、进入救援模式

[root@s153 system]# systemctl rescue

Broadcast message from root@s153 on pts/1 (三 2022-07-20 13:08:30 CST):

The system is going down to rescue mode NOW!
#执行完命令后系统就进入了救援模式
在这里插入图片描述
#救援模式下切换到默认模式
[root@s153 ~]# systemctl default

23、关闭系统

[root@s153 ~]# systemctl poweroff

24、重启机器

[root@s153 ~]# systemctl reboot

25、系统睡眠

  suspend暂停模式,类似window环境的睡眠模式,会将系统的状态数据保存到内存中,然后关闭掉大部分的系统硬件,当然,并没有实际关机。当用户按下唤醒机器的按钮,系统数据会重内存中回复,然后重新驱动被大部分关闭的硬件,就开始正常运作!唤醒的速度较快。

[root@s153 ~]# systemctl suspend

26、查看系统启动模式

[root@s153 boot]# systemctl get-default
multi-user.target

27、设置系统为图形界面启动

[root@s153 system]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.

三、systemctl参数说明

1、使用语法

用法:systemctl [OPTIONS…] {COMMAND} …

2 、参数说明

参数参数说明
start立刻启动后面接的unit
stop立刻关闭后面接的unit
restart立刻关闭后启动后面接的unit,亦即执行stop再start的意思
reload不关闭后面接的unit的情况下,重载配置文件,让设定生效
enable设定下次开机时,后面接的unit会被启动
disable设定下次开机时,后面接的unit 不会被启动
status目前后面接的这个unit 的状态,会列出是否正在执行、是否开机启动等信息。
is-active目前有没有正在运行中
is-enable开机时有没有预设要启用这个unit
kill不要被kill这个名字吓着了,它其实是向运行unit的进程发送信号
show列出unit的配置。
mask注销unit,注销后你就无法启动这个unit了
unmask取消对unit的注销
list-units依据unit列出目前有启动的unit。若加上–all才会列出没启动的。(等价于无参数)
list-unit-files列出所有以安装unit以及他们的开机启动状态(enabled、disabled、static、mask)。
–type=TYPE就是unit type,主要有service,socket,target等
get-default取得目前的 target
set-default设定后面接的 target 成为默认的操作模式
isolate切换到后面接的模式

3、unit file结构

文件通常由三部分组成:

  • [Unit]: 定义与Unit类型无关的通用选项;用于提供unit的描述信息,unit行为及依赖关系等。
  • [Service]:与特定类型相关的专用选项;此处为Service类型。
  • [Install]:定义由"systemctl enable"及"systemctl disable"命令在实现服务启用或禁用时用到的一些选项。

4、Unit段的常用选项

  • Description:描述信息,意义性描述;
  • After:定义unit的启动次序;表示当前unit应晚于哪些unit启动;其功能与Before相反;
  • Requies:依赖到其它的units;强依赖,被依赖的units无法激活时,当前的unit即无法激活;
  • Wants:依赖到其它的units;弱依赖;
  • Confilcts:定义units 的冲突关系;

5、Service段的常用选项

  • Type:用于定义影响ExecStart及相关参数的功能的unit进程类型;
    类型有:simple、forking、oneshot、dbus、notify、idle。
  • EnvironmentFile:环境配置文件;
  • ExecStart:指明启动unit要运行的命令或脚本;ExecStart, ExecStartPost
  • ExecStop:指明停止unit要运行的命令或脚本;
  • Restart:

6、Install段的常用配置:

  • Alias:
  • RequiredBy:被哪些unit所依赖;
  • WantBy:被哪些unit所依赖;

7、Unit文件样例

[root@s153 system]# cat chronyd.service
[Unit]
Description=NTP client/server
Documentation=man:chronyd(8) man:chrony.conf(5)
After=ntpdate.service sntp.service ntpd.service
Conflicts=ntpd.service systemd-timesyncd.service
ConditionCapability=CAP_SYS_TIME

[Service]
Type=forking
PIDFile=/var/run/chronyd.pid
EnvironmentFile=-/etc/sysconfig/chronyd
ExecStart=/usr/sbin/chronyd $OPTIONS
ExecStartPost=/usr/libexec/chrony-helper update-daemon
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full

[Install]
WantedBy=multi-user.target

转载于:https://blog.csdn.net/carefree2005/article/details/125886811

http://chatgpt.dhexx.cn/article/WXctl4Jg.shtml

相关文章

Linux命令之systemctl命令

一、systemctl命令简介 CentOS 5使用SysV init;CentOS 6使用Upstart,CentOS 7使用Systemd管理守护进程。centos7采用 systemd管理,服务独立的运行在内存中,服务响应速度快,但占用更多内存。独立服务的服务启动脚本都在…

idea 如何使用tomcat启动项目

1、首先对项目进行打包(使用maven) 2、打包成功后会有target 3、选择右侧的长条框(如果没有tomcat,框是灰色的,这时你要自己手动加一个tomcat),选择Edit 4、如图所示、点击“”号,继…

Tomcat启动项目慢

原因是多方面,我遇到的情况有三种可能导致tomcat启动项目变慢 情况一:tomcat在启动过程中会检查jar,当有大量的jar被检测的时候,启动需要很长时间 解决办法:将catalina.properties文件中的这一行 tomcat.util.scan.S…

Eclipse配置Tomcat以及使用Tomcat启动项目

1、打开Peferences弹窗 Windeows--->Peferences : 2、输入Server,点击Runtime Enviroument,点击Add: 3、选择tomcat版本: 4、找到自己的tomcat的下载路径,点击finish: 5、顶级apply and close&#xf…

IDEA配置本地tomcat启动项目

1.确认tomcat本地安装是否成功 tomcat安装可以参考我之前写的内容,Windows下tomcat安装教程 2.idea启动tomcat设置 1.新建项目 2.点击Java Enterprise选项,并进行设置 ​ 服务器选择对应的Tomcat版本、JDK版本号要与Tomcat的版本号对应,不然可能出现…

Java项目部署到tomcat启动

Java项目部署到tomcat启动 1.选中项目右击进行打包2.把后缀war文件放入tomcat-->webapps下3.修改tomcat-->conf--server.xml文件4.修改tomcat-->bin-->startup.bat和 shutdown.bat文件5.启动startup.bat 1.选中项目右击进行打包 2.把后缀war文件放入tomcat–>we…

Tomcat启动闪退问题处理

一、问题描述 启动tomcat一闪就退出。 二、解决办法 1、确定JAVA_HOME配置正确 必须有JAVA_HOME变量,且配到了path中 2、新增TOMCAT_HOME变量 3、新增CATALINA_BASE和CATALINA_HOME变量 4、修改Path变量 把%CATALINA_HOME%\lib和%CATALINA_HOME%\bin放到Path中 三…

Tomcat启动后出现乱码

今天启动时出现了如下乱码: 解决方案: 1.找到Tomcat目录下conf文件夹中的logging.properties文件,用记事本打开 2.打开logging.properties文件,找到文件中的java.util.logging.ConsoleHandler.encoding UTF-8, 3.将其…

IDEA创建Tomcat启动配置

很多时候我们都是使用spring自带的Tomcat容器就可以启动应用,这里介绍下使用外置tomcat启动应用。 1.点击IDEA菜单:【Run】–>【Edit Configurations】,进入如下界面: 2.点击左上方【】,选择【Tomcat Server】->…

IDEA整合Tomcat启动javaweb项目

1.前言 突然兴起想要写这么一篇博客,不是因为别的,纯属是因为小编还是一个小白的时候,听某马和某硅谷的javaweb网课时,遇到这个章节一直启动不起来,虽然小编依旧是个菜鸡,但是今时不同往日了,小编已经打破桎梏成为了一个有素养的菜鸡,蓦然回首,还有这么多苦读的学子卡在这个章…

Tomcat启动时,报404错误

在网页输入 https://localhost:8080时出现Not Found 404错误 在Tomcat正常启动后出现的这个错误一般就是该8080端口被占用了,所以我们可以修改Tomcat中的配置文件,打开conf目录后,打开server.properties文件 修改端口号8080为8081 之后再次在…

设置Tomcat启动窗口名称

设置Tomcat启动窗口名称 问题:因为需要启动多个Tomcat,但是每个窗口名称都是tomcat 解决: 1、在Tomcat的bin目录下找到catalina.bat文件,打开编辑 2、在文件中找到if "%TITLE%" "" set TITLETomcat,将Tomcat修改为想要…

SpringBoot | Tomcat启动 SpringBoot项目

Tomcat启动 SpringBoot项目 1. SpringBoot 项目调整1.1 Pom修改1.2 修改 启动类 2. 用外部tomcat启动服务注意事项2.1 失效配置2.1 * Filter 需要调整2.3 两种方式启动流程区别 以及失效原因 3. 总结 1. SpringBoot 项目调整 1.1 Pom修改 <!-- 将packaging 打包方式换成 w…

Tomcat启动路径

对正确启动路径的理解 Tomcat 启动时 会干嘛&#xff1f; 首先在这里设置的 路径 是每次 汤姆猫启动时自动弹出的 页面路径 然后在这里设置的是在汤姆猫的 artifact&#xff08;制品&#xff09;文件夹中会生成的文件夹 只要 这两个地方能够和路径匹配上&#xff0c;每次启动…

Tomcat启动内存设置

Tomcat的启动分为startupo.bat启动和注册为windows服务的启动。 1.startup.bat启动 在tomcat_home/bin目录下找到catalina.bat&#xff0c;用文本编辑器打开&#xff0c;加上下面一行&#xff1a; set JAVA_OPTS -Xms1024M -Xmx1024M -XX:PermSize256M -XX:MaxNewSize256M -…

tomcat启动与关闭

tomcat经过对应版本的下载解压后应该怎样启动呢&#xff1f; 方式1.找到tomcat下的bin目录下的startup.bat文件&#xff0c;双击就可以启动tomcat服务器了 可见小黑窗口中出现了乱码情况&#xff0c;虽然不会对tomcat本身不会产生影响&#xff0c;但是会影响美观&#xff0c;…

Tomcat启动闪退解决方法

一般情况下闪退的原因是java环境变量没有配置正确 具体步骤为计算机→属性→环境变量&#xff0c;然后添加系统变量 这里添加完成JAVA_HOME和JRE_HOME之后记得在path变量值的后面直接追加 【;%JAVA_HOME%;%JRE_HOME%】注意&#xff01;分号是环境变量的分割符号&#xff0c;不…

IDEA tomcat启动项目

1.打开File中Settings 2.搜索Application Servers,添加服务器类型,tomcat,选择本地的tomcat文件位置,点击OK 3.搜索Plugins,在里面搜索tomcat,挑上钩 4.idea打开多个项目 点击idea侧面的Maven,点击加号,找到要添加项目的pom.xml 项目是现成的,省略了文章的第5步 IntelliJ ID…

Tomcat 启动乱码问题

Tomcat启动时会出现乱码的现象&#xff0c;是因为Tomcat默认的编码格式导致的&#xff0c;只需要修改一个配置文件里面的参数即可。 1&#xff1a;找到Tomcat安装目录下的conf文件下面的logging.properties文件&#xff0c;使用编辑器打开来。 2&#xff1a;将里面的属性java.u…

Tomcat启动出现乱码

Tomcat在启动时出现乱码的解决办法 如上图所示&#xff0c;我们在启动tomcat时出现了乱码现象&#xff0c;是由于我们的编码方式导致的&#xff0c;修改如下配置文件即可 将此处的UTF-8改为GBK即可 然后重新启动tomcat 此时发现不存在乱码现象了