使用supervisor将命令行进程转换为后台守护进程

简介

我们在服务器上后台运行程序时,经常会使用nohup command &将程序运行在后台,这样我们关闭终端后程序还在运行,但是一旦程序挂掉以后程序将直接退出,影响业务。supervisor可以将上述的命令行程序转化为守护进程,并在程序异常退出时重启进程。

安装方法

sudo apt install supervisor

使用方法(以ubuntu20.04为例)

我们可以在/etc/supervisor找到supervisord.conf,查看文件内容:

[include]
files = /etc/supervisor/conf.d/*.conf

即表示supervisor包括了这个目录下的所有配置文件。

使用方法

  1. 创建myapp.conf,(根据实际情况修改)内容为:
[program:myapp]  ;程序名称
user=ubuntu  ;执行程序的用户
command=/path/to/myapp ;执行的命令
directory=/path/to/; 命令执行的目录
stopsignal=TERM  ;重启时发送的信号
autostart=true  
autorestart=true  ;是否自动重启
stdout_logfile=/var/log/myapp.log  ;标准输出日志位置
stderr_logfile=/var/log/myapp.log  ;标准错误日志位置
  1. 创建好配置文件后更新一下
sudo supervisorctl update
  1. 常用命令
supervisorctl status       # 查看所有任务状态
supervisorctl shutdown     # 关闭所有任务
supervisorctl start myapp  # 启动任务
supervisorctl stop myapp   # 关闭任务
supervisorctl reload       # 重启supervisor

参考:https://www.liwenzhou.com/posts/Go/deploy/

猜你喜欢

转载自blog.csdn.net/qq_41575489/article/details/132171363