Ubuntu22.04上使用systemctl命令配置开机自启动服务、脚本、命令

发布时间 2023-12-29 10:59:25作者: 夜未至

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:列出当前系统上所有的服务单元。

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

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

实现步骤

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

cd /etc/systemd/system


创建一个.service文件,比如我这里创建一个名为frpc的服务

vim frpc.service


内容自定义,比如

[Unit]
Description=frpc service
After=network.target

[Service]
Type=simple
ExecStart=/root/frp/frpc -c /root/frp/frpc.ini

[Install]
WantedBy=multi-user.target

上面的内容表示我希望启动这个服务的时候执行的命令是

/root/frp/frp_0.51.3_linux_amd64/frpc -c /root/frp/frp_0.51.3_linux_amd64/frpc.ini
然后使用以下命令启用并启动该服务(可选)

sudo systemctl enable frpc
sudo systemctl start frpc

可以看到成功启动服务

frp连接成功