RockyLinux创建自定义systemd服务(手把手教你配置Linux后台守护进程)

来源:这里教程网 时间:2026-03-14 20:26:37 作者:

在使用 RockyLinux 系统时,我们经常需要将自己编写的脚本或应用程序作为后台服务运行,并实现开机自启、自动重启等功能。这时,

systemd
就派上用场了。本文将详细讲解如何在 RockyLinux 中创建自定义 systemd 服务,即使你是 Linux 新手,也能轻松上手!

什么是 systemd?

systemd
是现代 Linux 发行版(包括 RockyLinux)中默认的初始化系统和服务管理器。它负责启动、停止、管理和监控系统服务。通过编写一个简单的
.service
文件,你就可以把任何程序变成一个标准的系统服务。

步骤一:准备你的应用程序或脚本

假设你有一个 Python 脚本

/opt/myapp/app.py
,你想让它作为后台服务运行。首先确保该脚本可执行:

sudo chmod +x /opt/myapp/app.py

你可以先手动运行一次,确认脚本能正常工作:

python3 /opt/myapp/app.py

步骤二:创建 systemd 服务文件

所有 systemd 服务文件都存放在

/etc/systemd/system/
目录下。我们将创建一个名为
myapp.service
的文件:

sudo nano /etc/systemd/system/myapp.service

在文件中写入以下内容(请根据你的实际情况修改路径和用户):

[Unit]Description=My Custom Application ServiceAfter=network.target[Service]Type=simpleUser=myuserWorkingDirectory=/opt/myappExecStart=/usr/bin/python3 /opt/myapp/app.pyRestart=alwaysRestartSec=10[Install]WantedBy=multi-user.target

各字段说明:

Description:服务的描述信息。 After:表示在网络服务启动后再启动本服务。 User:以哪个用户身份运行该服务(建议不要用 root)。 WorkingDirectory:工作目录。 ExecStart:启动服务时执行的命令(务必使用绝对路径)。 Restart=always:程序崩溃或退出时自动重启。 WantedBy:设置为 multi-user.target 表示在多用户模式下启用。

步骤三:重载 systemd 并启用服务

创建完服务文件后,需要通知 systemd 重新加载配置:

sudo systemctl daemon-reload

然后启动服务并设置开机自启:

sudo systemctl start myapp.servicesudo systemctl enable myapp.service

步骤四:检查服务状态

使用以下命令查看服务是否正常运行:

sudo systemctl status myapp.service

如果看到

active (running)
字样,说明服务已成功启动。你还可以查看日志:

sudo journalctl -u myapp.service -f

常见问题与注意事项

确保
ExecStart
中的路径是绝对路径,否则服务可能无法启动。 如果脚本依赖环境变量,可在
[Service]
段中使用
Environment=
EnvironmentFile=
指定。 修改服务文件后,必须执行
systemctl daemon-reload
才能生效。 调试时可临时将
Type=simple
改为
Type=oneshot
(适用于一次性任务)。

总结

通过以上步骤,你已经成功在 RockyLinux 上创建了一个自定义 systemd 服务。这种方法适用于任何长期运行的程序,如 Web 服务器、数据采集脚本、定时任务等。掌握这项技能,将极大提升你的 RockyLinux 系统管理 能力,实现更高效的 Linux 后台服务配置

赶快动手试试吧!如有疑问,欢迎在评论区留言交流。

相关推荐