systemd自动重启参数设置

时间:2025-02-24 08:08:57

systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。

Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。

案例:

[Unit]
Description=meross rpc server
After=
 
[Install]
WantedBy=
 
[Service]
Type=simple
PIDFile=/usr/local/htdocs/meross_admin_rpc_queue_handle/    # 存放PID的绝对路径
ExecStart=/usr/local/htdocs/meross_admin_rpc_queue_handle/meross_admin_rpc_queue_handle    # 服务启动命令,命令需要绝对路径
ExecStop=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=20
StartLimitInterval=0

重点参数详解

  • Restart=always: 只要不是通过systemctl stop来停止服务,任何情况下都必须要重启服务,默认值为no

  • RestartSec=20: 重启间隔,比如某次异常后,等待20(s)再进行启动,默认值0.1(s)

  • StartLimitInterval: 无限次重启,默认是10秒内如果重启超过5次则不再重启,设置为0表示不限次数重启