Linux systemctl命令用法及使用说明

 更新时间:2026年03月14日 15:02:51   作者:Donkor-  
systemctl是Linux中用于管理系统服务的工具,提供了启动、停止、重启和查看服务状态等功能,通过systemctl命令,用户可以方便地管理各种服务

systemctl是什么

systemctl命令来自英文词组system control的缩写,是Linux系统中用于管理系统服务的工具。

它提供了一系列命令,用于启动、停止、重启和查看服务状态等操作。

systemctl的基础语法

systemctl [options] command [name...]
  • options:可选参数,用于指定一些选项,比如 -h 显示帮助信息
  • cammand:必须参数,用于指定要执行的命令,比如 start 启动服务
  • name:可选参数,用于指定服务名称或单位名称

options常用选项

选项命令
-h显示帮助信息
-a显示所有的服务
-f跟踪服务的输出日志

systemctl的常见命令

开启进程服务

sudo systemctl start 服务名称

停止进程服务

sudo systemctl stop 服务名称

重启进程服务

sudo systemctl restart 服务名称

查看进程服务

sudo systemctl status 服务名称

设置开机自启动

sudo systemctl enable 服务名称

停止开机自启动

sudo systemctl disable 服务名称

创建自定义服务

1.存放文件目录

  • 系统配置文件目录 /etc/systemd/system/ 的优先级最高, 建议放在这
  • 其次为 /usr/lib/systemd/system/
  • /usr/lib/systemd/user/ 存放用户的配置, 但是一般不用!

2.创建service文件

这里以go.service为例,创建自定义服务,可以使用以下命令

sudo vim /etc/systemd/system/go.service

3.配置示例

[Unit]
Description=测试服务
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
Type=simple
Restart=always
RestartSec=1s 
#工作目录,这里我以go服务为例
WorkingDirectory=/data/go
# 这里我以go服务为例
ExecStart=/bin/bash -c 'cd /data/go && /data/go/main'
# 最大文件打开数不限制
LimitNOFILE=infinity
# 子线程数量不限制
TasksMax=infinity

[Install]
WantedBy=multi-user.target

这里network-online.target1,systemd-networkd-wait-online.service2用于在系统重启后,确保网络连接就绪。

总结

首先,我们知道了,systemctl是Linux系统中用于管理系统服务的工具。其次,我们了解了它的基础语法,还有常见命令,包括开启、停止、重启、查看、设置开机启动、停止开机启动。最后我们通过自定义一个go服务,了解如何创建使用。

  • network-online.target 是一个延伸的系统级别的目标,它代表着网络连接已经建立,并且可以提供Internet 访问。 它可以被用来作为其他服务的依赖,以确保这些服务在网络连接已经建立之后再启动。 因此,如果您想要在网络服务已经启动的情况下启动另一个服务,您可以将network.target 作为依赖。 ↩︎
  • systemd-networkd-wait-online.service 是一个系统服务,它的作用是等待网络连接就绪后再启动其他的网络相关服务。 这个服务的timeout 默认是90 秒,如果在这个时间内无法等到网络就绪,就会超时报错 ↩︎

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Apache Superset MCP接入与使用操作方法

    Apache Superset MCP接入与使用操作方法

    Apache Superset MCP 集成(superset-mcp)是一个基于 Model Control Protocol(MCP)的服务器工具,旨在实现 AI 代理与 Apache Superset 的程序化交互,本文给大家介绍Apache Superset MCP接入与使用,感兴趣的朋友一起看看吧
    2025-08-08
  • Ubuntu安装和卸载CUDA和CUDNN的实现

    Ubuntu安装和卸载CUDA和CUDNN的实现

    这篇文章主要介绍了Ubuntu安装和卸载CUDA和CUDNN的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • ubuntu22.04 server安装及使用详细图文教程

    ubuntu22.04 server安装及使用详细图文教程

    这篇文章主要给大家介绍了关于ubuntu22.04 server安装及使用的相关资料,Ubuntu Server是Ubuntu家族的一员,专为网络和服务量身定制,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • Deepin下安装神器Pyenv的步骤记录

    Deepin下安装神器Pyenv的步骤记录

    这篇文章主要给大家介绍了关于Deepin下安装神器Pyenv的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Deepin具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • Ubuntu服务器下搭建php运行环境的方法

    Ubuntu服务器下搭建php运行环境的方法

    这篇文章主要介绍了Ubuntu服务器下搭建php运行环境的方法,简单分析了Ubuntu操作系统环境下搭建Apache、php及mysql模块相关步骤、命令与操作技巧,需要的朋友可以参考下
    2018-04-04
  • 详解CentOS设置程序开机自启动的方法

    详解CentOS设置程序开机自启动的方法

    本篇文章主要介绍CentOS设置程序开机自启动的方法 ,在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。有兴趣的可以了解一下,
    2016-12-12
  • linux环境下安装jdk和Tomcat详细步骤

    linux环境下安装jdk和Tomcat详细步骤

    大家好,本篇文章主要讲的是linux环境下安装jdk和Tomcat详细步骤,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收一下,方便下次浏览
    2021-12-12
  • linux守护进程服务daemon、nohup、systemd的区别

    linux守护进程服务daemon、nohup、systemd的区别

    守护进程(Daemon)是指在后台运行的进程,不与用户直接交互,且在系统启动时自动运行,nohup是一个命令行实用程序,用于在用户注销后继续运行命令,‌Systemd‌用于管理和启动服务,支持复杂的依赖管理和自动启动
    2025-03-03
  • Linux自动化构建工具make/Makefile和git使用及说明

    Linux自动化构建工具make/Makefile和git使用及说明

    本文介绍Linux下的make工具与Makefile自动化构建、缓冲区刷新及git版本控制操作,涵盖依赖关系处理、PHONY修饰、提交流程等关键点
    2025-09-09
  • mac下配置和访问阿里云服务器(Ubuntu系统)的图文教程

    mac下配置和访问阿里云服务器(Ubuntu系统)的图文教程

    这篇文章主要介绍了mac下配置和访问阿里云服务器(Ubuntu系统)的图文教程,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-01-01

最新评论