当前位置: 代码网 > 服务器>服务器>Linux > Linux使用Systemd设置程序开机自启动的具体教程

Linux使用Systemd设置程序开机自启动的具体教程

2025年05月28日 Linux 我要评论
使用systemd设置程序的开机自启动的方法。1. 创建服务文件在/etc/systemd/system/目录下创建一个.service文件(需sudo权限):sudo nano /etc/syste

使用systemd设置程序的开机自启动的方法。

1. 创建服务文件

在 /etc/systemd/system/ 目录下创建一个 .service 文件(需 sudo 权限):

sudo nano /etc/systemd/system/myprogram.service
或者
sudo vi /etc/systemd/system/myprogram.service
或者
sudo gedit /etc/systemd/system/myprogram.service

2. 编写服务配置

将以下模板写入文件(按需修改参数):

[unit]
description=my custom program   # 服务描述
after=network.target           # 指定依赖的启动目标(如网络就绪后启动)

[service]
execstart=/usr/bin/python3 /path/to/your_script.py  # 程序启动命令(绝对路径)
workingdirectory=/path/to/working_dir  # 可选:程序工作目录
user=myuser                         # 运行程序的用户(如 root 或其他用户)
group=mygroup                       # 用户组
restart=always                      # 崩溃后自动重启
restartsec=5                        # 重启间隔(秒)

[install]
wantedby=multi-user.target          # 关联到系统启动目标

测试:

[unit]
description=test2   
after=network.target           

[service]
execstart=/mnt/hgfs/sharedata/demo/2/1  
workingdirectory=/mnt/hgfs/sharedata/demo/2  
user=root                                              
restart=always                     
restartsec=5                        

[install]
wantedby=multi-user.target          

3. 启用并启动服务

  • 重新加载systemd配置(修改服务文件后必执行):
sudo systemctl daemon-reload
  • 启用开机自启动
sudo systemctl enable myprogram.service
  • 立即启动服务(无需重启):
sudo systemctl start myprogram.service

4. 管理服务

  • 查看服务状态
systemctl status myprogram.service
  • 停止服务
sudo systemctl stop myprogram.service
  • 禁用开机自启动
sudo systemctl disable myprogram.service
  • 查看日志
journalctl -u myprogram.service -e  # 查看最新日志
journalctl -u myprogram.service -f  # 实时追踪日志

测试:

常见问题

  1. 路径错误

    • 确保 execstart 中的命令使用绝对路径。
    • 检查脚本是否有执行权限:chmod +x /path/to/script
  2. 权限问题

    • 若程序需要特定用户权限,在 [service] 中设置 user 和 group
  3. 依赖未就绪

    • 在 [unit] 中使用 after=network.target mysql.target 等指定依赖服务。

到此这篇关于linux使用systemd设置程序开机自启动的具体教程的文章就介绍到这了,更多相关linux systemd程序开机自启动内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com