使用 Supervisord 而不是 Sytemctl 来管理进程

使用 Supervisord 而不是 Sytemctl 来管理进程

我有一个 VPN 服务,想通过 Supervisord 进行管理。

当 VPN 服务自行安装时,它会在 中创建一个条目/etc/systemd/system/pgateway.service。内容如下:

[Unit]
Description=Cradlepoint NetCloud Client that provides access to secure overlay networks.
After=network.target

[Service]
Type=forking
PIDFile=/run/pGateway.pid
ExecStartPre=/bin/rm -f /run/pGateway.pid
ExecStart=/opt/pertino/pgateway/pGateway -f -p /run/pGateway.pid
TimeoutStopSec=30
Restart=on-abort
KillMode=process

[Install]
WantedBy=basic.target

有时,此进程会终止并需要重新启动。由于我拥有用于​​管理 Supervisorctl 的远程 Web 界面,因此我想通过 Supervisord 来管理此 VPN 进程。

这会是一件容易的事吗?我遗漏了什么重要的事情吗?让我困惑的是,supervisord 没有指定管理pid文件的方法(如果我甚至需要担心这一点的话……)

我可以在我的 ? 中做类似以下的事情吗supervisor.conf

[program:pgateway]
command=/opt/pertino/pgateway/pGateway -f -p /run/pGateway.pid
process_name=%(program_name)s
numprocs=1
directory=/tmp
umask=022
priority=999
autostart=true
autorestart=unexpected
startsecs=10
startretries=3
exitcodes=0,2
stopsignal=TERM
stopwaitsecs=10
stopasgroup=false
killasgroup=false
user=root
redirect_stderr=false
stdout_logfile=/a/path
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
stderr_logfile=/a/path
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
stderr_events_enabled=false
environment=A="1",B="2"
serverurl=AUTO

相关内容