在使用 RockyLinux 系统时,我们经常需要将自己编写的脚本或应用程序作为后台服务运行,并实现开机自启、自动重启等功能。这时,
systemd就派上用场了。本文将详细讲解如何在 RockyLinux 中创建自定义 systemd 服务,即使你是 Linux 新手,也能轻松上手!

什么是 systemd?
systemd是现代 Linux 发行版(包括 RockyLinux)中默认的初始化系统和服务管理器。它负责启动、停止、管理和监控系统服务。通过编写一个简单的
.service文件,你就可以把任何程序变成一个标准的系统服务。
步骤一:准备你的应用程序或脚本
假设你有一个 Python 脚本
/opt/myapp/app.py,你想让它作为后台服务运行。首先确保该脚本可执行:
你可以先手动运行一次,确认脚本能正常工作: 所有 systemd 服务文件都存放在 在文件中写入以下内容(请根据你的实际情况修改路径和用户): 各字段说明: 创建完服务文件后,需要通知 systemd 重新加载配置: 然后启动服务并设置开机自启: 使用以下命令查看服务是否正常运行: 如果看到 通过以上步骤,你已经成功在 RockyLinux 上创建了一个自定义 systemd 服务。这种方法适用于任何长期运行的程序,如 Web 服务器、数据采集脚本、定时任务等。掌握这项技能,将极大提升你的 RockyLinux 系统管理 能力,实现更高效的 Linux 后台服务配置。 赶快动手试试吧!如有疑问,欢迎在评论区留言交流。sudo chmod +x /opt/myapp/app.pypython3 /opt/myapp/app.py步骤二:创建 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步骤三:重载 systemd 并启用服务
sudo systemctl daemon-reloadsudo systemctl start myapp.servicesudo systemctl enable myapp.service步骤四:检查服务状态
sudo systemctl status myapp.serviceactive (running)
字样,说明服务已成功启动。你还可以查看日志:sudo journalctl -u myapp.service -f常见问题与注意事项
确保 ExecStart
中的路径是绝对路径,否则服务可能无法启动。 如果脚本依赖环境变量,可在 [Service]
段中使用 Environment=
或 EnvironmentFile=
指定。 修改服务文件后,必须执行 systemctl daemon-reload
才能生效。 调试时可临时将 Type=simple
改为 Type=oneshot
(适用于一次性任务)。总结
