readme.txt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. 步骤一:创建服务文件
  2. 创建一个以 .service 结尾的文件,通常存放在 /etc/systemd/system/ 目录下。例如,创建一个名为 myprogram.service 的文件:
  3. sudo nano /etc/systemd/system/myprogram.service
  4. 步骤二:编辑服务文件
  5. 在文件中添加以下内容,这里以启动一个名为 myprogram 的程序为例:
  6. [Unit]
  7. Description=My Program
  8. After=network.target
  9. [Service]
  10. ExecStart=/path/to/myprogram # 替换为实际程序的路径
  11. Restart=always # 程序崩溃时自动重启
  12. RestartSec=5 # 重启前等待的时间,单位为秒
  13. User=your_username # 替换为运行程序的用户名
  14. StartLimitInterval=60s # 在60秒内允许的最大重启次数
  15. StartLimitBurst=3 # 在指定时间间隔内允许的最大重启次数
  16. [Install]
  17. WantedBy=multi-user.target
  18. 对上述配置的解释如下:
  19. - [Unit] 部分 :
  20. - Description :是对服务的描述信息。
  21. - After :表示该服务在网络服务启动后再启动。
  22. - [Service] 部分 :
  23. - ExecStart :是要执行的程序路径,你需要将其替换为实际程序的路径。
  24. - Restart=always :设定程序无论因何原因退出(正常退出、异常退出等),都会自动重启。
  25. - RestartSec=5 :指定程序在退出后,等待 5 秒再尝试重启。
  26. - StartLimitInterval=60s 和 StartLimitBurst=3 :结合起来表示在 60 秒内,如果服务重启次数达到 3 次, systemd 将不再尝试重启该服务,避免陷入无限重启循环。
  27. - [Install] 部分 :
  28. - WantedBy=multi-user.target :指定服务在多用户模式下启动。
  29. 步骤三:重新加载systemd管理器配置
  30. sudo systemctl daemon-reload
  31. 步骤四:启动并设置服务开机自启
  32. sudo systemctl start myprogram.service
  33. sudo systemctl enable myprogram.service