问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

在Ubuntu系统中使用Systemctl添加启动项的详细指南

创作时间:
作者:
@小白创作中心

在Ubuntu系统中使用Systemctl添加启动项的详细指南

引用
CSDN
1.
https://blog.csdn.net/kaka_buka/article/details/139065966

在Ubuntu系统中,使用Systemctl管理服务是系统管理员必备的技能之一。本文将详细介绍如何使用Systemctl添加启动项,包括创建服务单元文件、启用服务、启动服务等具体步骤,帮助读者掌握这一实用技能。

在Ubuntu系统中使用Systemctl添加启动项的详细指南

在Ubuntu系统中,
systemctl
是管理systemd服务的主要工具。通过它,你可以添加、启动、停止、重启、启用和禁用服务。

什么是Systemctl?

systemctl
是一个用于管理systemd系统和服务管理器的命令行工具。systemd是一个系统和服务管理器,作为许多Linux发行版的init系统。它提供了并行启动服务,减少启动时间的功能,并能有效管理服务依赖关系。

系统要求

  • Ubuntu系统(本指南适用于Ubuntu 16.04及更高版本)
  • 拥有sudo权限的用户账户

如何使用Systemctl添加启动项

要使用
systemctl
添加启动项,需要创建一个新的systemd服务单元文件,并将其配置为在系统启动时自动启动。以下是具体步骤:

步骤一:创建服务单元文件

服务单元文件定义了一个服务的行为,包括如何启动、停止和重启服务。服务单元文件通常位于
/etc/systemd/system/
目录下,文件名以
.service
结尾。以下是一个服务单元文件的示例:

  
[Unit]
Description=My Custom Service
After=network.target
[Service]
ExecStart=/usr/bin/my_custom_service
Restart=always
[Install]
WantedBy=multi-user.target
  

在服务单元文件中,
[Unit]
部分包含了服务的描述和依赖关系,
[Service]
部分定义了服务的启动命令、重启策略等,
[Install]
部分指定了服务的目标环境。

  • Description
    :服务的描述。
  • After
    :指定服务依赖的其他服务,例如
    network.target
    表示网络服务。
  • ExecStart
    :指定服务启动时执行的命令。
  • Restart
    :定义服务失败时的重启策略,
    always
    表示总是重启。
  • WantedBy
    :指定服务应该在哪个目标下启动,
    multi-user.target
    是多用户图形界面环境。

在创建或修改完
.service
配置文件后,需要重新加载
systemd
管理的配置文件,以使更改生效。可以使用以下命令重新加载
systemd
配置:

  
sudo systemctl daemon-reload
  

然后,再启用、启动、停止或重启您的服务。

步骤2:启用服务

创建服务文件后,您需要启用该服务以确保它在系统启动时自动启动:

  
sudo systemctl enable my_service.service
  

步骤3:启动服务

要立即启动服务(而不是等到下一次系统启动),您可以使用以下命令:

  
sudo systemctl start my_service.service
  

步骤4:检查服务状态

要检查服务的状态,您可以使用以下命令:

  
sudo systemctl status my_service.service
  

这将显示服务的状态,包括它是否正在运行,以及最近的日志输出。

如果服务运行正常,你将看到类似于以下的输出:

  
● my_custom_service.service - My Custom Service
   Loaded: loaded (/etc/systemd/system/my_custom_service.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2024-05-20 12:34:56 UTC; 1min 30s ago
 Main PID: 1234 (my_custom_service)
    Tasks: 1 (limit: 4915)
   Memory: 1.1M
   CGroup: /system.slice/my_custom_service.service
           └─1234 /usr/bin/my_custom_service
  

步骤5:重启和停止服务

如果需要,您可以使用以下命令重启或停止服务:

  
sudo systemctl restart my_service.service
sudo systemctl stop my_service.service
  

参考链接

  • Systemd 入门:链接地址
  • Ubuntu 官方文档:链接地址
  • Systemctl 手册页:链接地址
  • 编写自定义Systemd服务:链接地址

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号