Ubuntu使用systemctl命令配置开机自启动服务、脚本、命令

发布于 2025-03-01  54 次阅读


systemctl介绍

systemctl是Linux系统上用于管理系统服务(systemd单元)的命令行工具。它可以用来启动、停止、重启、禁用、启用、查询和管理系统服务的状态。
以下是一些常用的systemctl命令:

  • systemctl start servicename:启动一个服务
  • systemctl stop servicename:停止一个服务
  • systemctl restart servicename:重启一个服务
  • systemctl enable servicename:设置一个服务为开机自启动
  • systemctl disable servicename:禁用一个服务的开机自启动
  • systemctl status servicename:查看一个服务的状态
  • systemctl list-units --type=service:列出当前系统上所有的服务单元

在Ubuntu中也可以使用service来操作:

  • service servicename start:启动服务
  • service servicename stop:停止服务
  • service servicename restart:重启服务
  • service servicename status:查看服务状态

systemd是Linux系统中的一个初始化系统和系统管理器,它负责启动系统中的各个进程和服务。systemd使用单元文件(unit files)来描述系统中的各种资源,包括服务、挂载点、设备等。当使用systemctl启动一个服务时,systemd会根据该服务的单元文件来启动相应的进程,并托管该进程的生命周期。

而在启动一个服务时,systemd会按照服务单元文件中定义的配置启动相应的进程,并根据配置的依赖关系来确保服务的正确启动顺序。这样可以提高系统的并行启动能力,提高系统启动的效率和稳定性。

快速开始

先转到/etc/systemd/system/目录:

cd /etc/systemd/system

创建一个.service文件,例如这里创建一个名为tianzi的服务:

vim tianzi.service

基本内容参考如下:

[Unit]
Description=tianzi service
After=network.target
 
[Service]
Type=simple
ExecStart=/home/tianzi/start.sh
 
[Install]
WantedBy=multi-user.target
  • Description是服务描述,可以随意填写
  • ExecStart是启动服务要执行的命令,例如这里是运行bash脚本“/home/tianzi/start.sh”

然后启用并启动服务:

sudo systemctl enable tianzi
sudo systemctl start tianzi
  • 这里写tianzi或者tianzi.service均可
  • 在Ubuntu中也可以使用service命令来操作

查看服务状态:

sudo systemctl status tianzi

或者

sudo service tianzi status
  • 在终端中按q退出

参考:


TianziWeb From 2011.02.15