XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

Supervisor执行Bash管道操作残留子进程

2025.04.09

Supervisor是一个非常流行的linux进程管理器,可以使得管理进程更加容易和安全。

Supervisor最流行的应用场景是常驻进程的管理,比如Web服务和后台守护进程。由于Web服务和守护进程往往需要持续一直运行,所以我们会需要一个进程管理器来确保他们的运行状态。Supervisor就是这样一个非常好用的管理器,它非常简单易用,并且具备广泛的功能。

执行单个命令

安装下面的配置,正常使用c start|stop|restart XXX都没有问题
[program:kohya_ss]
command=command1
directory=/home/kohya/kohya_ss
autostart=true
autorestart=true
redirect_stderr=true
priority=10
user=kohya
stdout_logfile=/home/kohya/kohya_ss/logs/supervisor.log

执行Bash文件

[program:kohya_ss]
command=bash /home/kohya/kohya_ss/gui.sh
directory=/home/kohya/kohya_ss
autostart=true
autorestart=true
redirect_stderr=true
priority=10
user=kohya
stdout_logfile=/home/kohya/kohya_ss/logs/supervisor.log
使用supervisorctl start|stop|restart XXX发现supervisorctl的状态一直,但是如果检查服务的端口lsof -i :9091发现服务还在, 残留子进程

执行Bash 命令

[program:kohya_ss]
command=bash -c "command1|command2"
directory=/home/kohya/kohya_ss
autostart=true
autorestart=true
redirect_stderr=true
priority=10
user=kohya
stdout_logfile=/home/kohya/kohya_ss/logs/supervisor.log

最后如果要避免操作残留子进程需要加上下面的配置:

killasgroup=true
stopasgroup=true
© 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB