Linux 平台推荐使用 Supervisor 管理进程,原因:

  • 不修改系统服务,对系统侵入性小
  • 系统服务默认以root权限运行,而MinDoc新版本推荐的导出工具 Calibre运行在root用户下有问题

注意: Supervisor仅为 类Unix系统 (Linux、Unix等)系统设置,不支持Windows平台

示例 - Ubuntu 下配置Supervisor

  • 假定用户为gsw945
  • 假定mindoc所在目录为/home/gsw945/mindoc
  • ubuntu上,Supervisor默认自定义配置文件目录为/etc/supervisor/conf.d/,其他Linux发行版可能位置不同
  1. 安装Supervisor

    sudo apt install supervisor -y
  2. 创建mindoc的配置文件

    sudo vim /etc/supervisor/conf.d/mindoc.conf

    内容如下:

    [program:mindoc]
    user=gsw945
    directory=/home/gsw945/mindoc
    command=/home/gsw945/mindoc/mindoc_linux_amd64
    autostart=true
    autorestart=true
    startsecs=5
    stopsignal=HUP
    stopasgroup=true
    stopwaitsecs=5
    stdout_logfile_maxbytes=20MB
    stdout_logfile=/var/log/supervisor/%(program_name)s-out.log
    stderr_logfile_maxbytes=20MB
    stderr_logfile=/var/log/supervisor/%(program_name)s-err.log

    内容解释:

    • [program:mindoc]: mindoc是为程序取的名字
    • user=gsw945: 以用户gsw945身份运行
    • directory=/home/gsw945/mindoc: 指定运行工作目录
    • command=/home/gsw945/mindoc/mindoc_linux_amd64: 指定运行的命令

    其他参数此处不强相关,具体请了解Supervisor官方文档 Configuration File

  3. 重新加载配置(此操作执行成功后,mindoc会被Supervisor启动)

    sudo supervisorctl update
  4. Supervisor常用管理命令

    # 进入Supervisor交互式工具,进入后可以输入help查看支持的命令
    sudo supervisorctl
    # 停止所有进程
    sudo supervisorctl stop all
    # 启动所有进程
    sudo supervisorctl start all
    # 查看所有进程状态
    sudo supervisorctl status
    # 重新加载,会重启所有进程
    sudo supervisorctl reload
作者:Mindoc君  创建时间:2022-11-29 18:06
最后编辑:Mindoc君  更新时间:2023-01-09 15:04