欢迎光临
我们一直在努力

宝塔面板中使用Supervisor定时重启某个子进程

使用宝塔中的 Supervisor 来监控某些指定进程的时候,会有这种场景:我们需要定时重启监控的某个脚本或者子进程,重启又能不影响其他的子进程。

自动草稿

Supervisor 宝塔中的默认位置在 /www/server/panel/pyenv/bin/supervisor ,但是我们需要用到的命令行工具是 supervisorctl ,即完整路径为:/www/server/panel/pyenv/bin/supervisorctl ,其完整的帮助手册信息如下:

  1. [root@VM ~]# /www/server/panel/pyenv/bin/supervisorctl help
  2.  
  3. default commands (type help ):
  4. =====================================
  5. add exit open reload restart start tail
  6. avail fg pid remove shutdown status update
  7. clear maintail quit reread signal stop version

我们本次使用的时候只需要使用 restart 命令参数即可。完整的命令格式为 supervisorctl restart name;

在宝塔中,需要知道 Supervisor 的子进程的名字(上述命令格式中的 name),我们可以通过执行一次重启 all 的操作来获取:

  1. [root@VM ~]# /www/server/panel/pyenv/bin/supervisorctl restart all
  2. test01:test01_00: stopped
  3. mrxn_test:mrxn_test_00: stopped
  4. hook_test:hook_test_00: stopped
  5. test01:test01_00: started
  6. mrxn_test:mrxn_test_00: started
  7. hook_test:hook_test_00: started

这就可以拿到所有的子进程名称,拿到子进程名称后就可以单独重启了:

  1. [root@VM ~]# /www/server/panel/pyenv/bin/supervisorctl restart test01:test01_00
  2. test01:test01_00: stopped
  3. test01:test01_00: started

需要定时重启的,只需要在定时任务哪里把上面的单独重启某个进程的命令加如 shell脚本 类型的任务下的脚本内容即可。

Supervisor简介:Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《宝塔面板中使用Supervisor定时重启某个子进程》
文章链接:https://www.xpn.cc/3817/fy.html
分享到: 更多 (0)

热门推荐

评论 抢沙发

登录

忘记密码 ?