问题现象

      supervisor进程自己被系统kill掉了,但是它管理的进程服务却没有被终止

            supervisor异常处理

    2.终止掉相关子进程

            supervisor异常处理

      3.重新启动supervisor

            supervisor异常处理

      4.总结

         这样可以一次性快速kill掉supervisor管理的所有子服务进程 而不需要一个一个查找相关的子进程

            supervisor异常处理

supervisor日志按天打包存储

        logrotate配置   logrotate是linux系统默认自带的日志管理工具 无需进行手动安装

        综合了supervisor的功能和logrotate的功能,最终实现了将程序输出的日志以天为单位进行保存,并且保存指定天数的日志

        tar -zcvf $backdir/applogs_$datestr.tgz.tmp -C $logdir .
        mv $backdir/applogs_$datestr.tgz.tmp $backdir/applogs_$datestr.tgz

supervisor控制子进程启动顺序

      1.设置子进程的启动优先级并没有实现需要的效果

      supervisor异常处理

     2.把自动启动设置为手动启动

       supervisor异常处理

      3.启动service超时

         supervisor异常处理

      4.设置service启动的超时时间

         supervisor异常处理

         supervisor异常处理

# taishi enterprise supervisord service for systemd (CentOS 7.0+)
[Unit]
Description=taishi Enterprise Supervisor daemon
After=taishi.service

[Service]
Type=forking
LimitNOFILE=655350
LimitNPROC=655350
ExecStart=/bin/bash /app/taishi/etc/start_taishi.sh
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
TimeoutSec=1200s

[Install]
WantedBy=multi-user.target                 
后台service配置

相关文章:

  • 2022-02-27
  • 2021-12-18
  • 2021-10-22
猜你喜欢
  • 2021-04-05
  • 2021-06-12
  • 2021-11-13
  • 2021-12-12
  • 2021-07-28
  • 2022-12-23
  • 2021-09-04
相关资源
相似解决方案