标签: supervisord

Supervisor中的目录设置

我正在配置主管守护程序以启动/停止 Celery。

这没用。在来回调试后,我意识到问题在于它没有将工作目录更改为程序部分下 supervisord.conf 中的目录选项中提到的目录。

希望workdir芹菜中有一个,但我很好奇 - 那么这个directory选项的目的是什么?

如果您通过主管运行脚本并打印pwd它将输出/

supervisord

15
推荐指数
1
解决办法
2万
查看次数

用supervisor控制tomcat

通过主管进行控制时,有没有办法“优雅地”关闭tomcat?

我的理解是 Tomcat 的 shutdown.sh 脚本在关闭端口上与 tomcat 对话以启动正常关闭。主管似乎没有办法指定关闭“命令”,只能使用信号。

有没有人成功地将主管与 tomcat 一起使用?

此外,由于 tomcat 的 startup.sh 脚本启动了 java 进程,我一直将生成的 java 命令直接复制到 supervisor 中,但是由于所有环境设置,这不如使用 startup.sh 脚本好。有没有办法让主管使用 startup.sh 脚本但仍然跟踪生成的子 Java 进程?

tomcat supervisord

14
推荐指数
2
解决办法
2万
查看次数

我如何在 upstart、runit、supervisor、daemontools、... 之间进行选择,以便在进程终止时重新启动进程?(过程监督/监控)

我有一个 Nginx 网络代理、gunicorn 网络服务器和一个 python/flask 网络应用程序。Gunicorn 进程显然已经死了,我想在未来通过研究一种实用程序来改善这一点,该实用程序可以在 gunicorn 进程再次崩溃时监控并重新启动它。

我发现了几个可以完成这项工作的流程监督实用程序:

  • 守护进程
  • 启动
  • 运行
  • s6
  • 导师
  • 系统D
  • 暴发户
  • ...

是否有一篇综合文章比较和对比了用于监视和重新启动进程的各种实用程序?

https://en.wikipedia.org/wiki/Process_supervision

upstart daemontools supervisord runit

13
推荐指数
1
解决办法
5856
查看次数

使用盐状态文件清除目录

如何使用状态文件清除 salt-minion 上的目录?我想*.conf/etc/supervisord/conf.d/设置其他主管服务之前删除所有文件。

以下top.sls配置无效:

/etc/supervisor/conf.d/*:
  file.absent
Run Code Online (Sandbox Code Playgroud)

file.remove 因不可用而失败。

ubuntu supervisord saltstack

12
推荐指数
2
解决办法
1万
查看次数

supervisord:在另一个程序运行之前不要启动一个程序

我在 Ubuntu 上使用主管和几个程序来监督。是否可以配置主管使其在另一个特定程序成功启动之前不启动程序?

即我只想在 Zookeeper 启动后运行 Kafka。

supervisord

11
推荐指数
2
解决办法
2万
查看次数

Supervisord 和 stdout/stderr

对于Supervisord中的程序配置块,redirect_stderr为true是否需要设置stderr_logfile?

stderror_logfile=/path/to/logfile/stderr.log
stdout_logfile=/path/to/logfile/stdout.log
redirect_stderr=true
Run Code Online (Sandbox Code Playgroud)

由于redirect_stderr 为真,这应该意味着stderr.log 将为空,并且stderr 和stdout 流的组合将显示在sdtout.log 中。我的理解正确吗?

supervisord

11
推荐指数
1
解决办法
1万
查看次数

为什么在主管中使用`bash -c`而不是直接调用脚本?

我开始使用supervisord控制服务器中的服务。我不是 linux 的专业用户,但可以很好地使用它并让它运行。

出于好奇,我注意到 supervisord 中的大多数命令似乎都被称为:

[program:install]
command=bash -c "/src/etc/install.sh"
Run Code Online (Sandbox Code Playgroud)

我已经阅读了 bash 的 man,并且知道-c应该使用它来插入在字符串之后传递的变量。

那么bash -c考虑到没有传递/使用变量,在主管(或任何其他地方)中使用而不是直接调用脚本(如下例所示)有什么意义?

[program:install]
command=/src/etc/install.sh
Run Code Online (Sandbox Code Playgroud)

谢谢!

linux bash supervisord

10
推荐指数
2
解决办法
2万
查看次数

主管袜子文件丢失

我安装了 Supervisor (v3.1.2) 来管理 ElastAlert 但是当我运行supervisorctl它时有时会抛出这个错误:

unix:///var/run/supervisor.sock no such file
Run Code Online (Sandbox Code Playgroud)

其他时候它会抛出这个错误:

unix:///tmp/supervisor.sock no such file
Run Code Online (Sandbox Code Playgroud)

我会注意到它确实让我进入了supervisor>提示符,但之后的命令与上面的错误相同。该/etc/supervisor/supervisor.conf文件配置为使用/var/run,这似乎与第二个错误不一致。

我创建了一个指向 的链接/etc/supervisor.conf,正如其他帮助页面所建议的那样,但这并没有什么不同。

两件奇怪的事情,当我第一次安装 Supervisor 时它运行良好,但在重新启动后这个问题开始了。另一个奇怪的事情是 ElastAlert 在重新启动后启动,并继续正常运行。所以虽然它可能有错误,但它正在做它的工作。不是表演障碍,但我希望它能够正常工作。

有任何想法吗?

supervisord debian-jessie

10
推荐指数
2
解决办法
3万
查看次数

使用主管管理守护进程:没有可用的前台模式

我正在尝试使用supervisord管理一个进程,但该进程没有在前台运行的选项:它总是守护进程。(那是 Zabbix 服务器)。

有没有办法用主管管理守护进程?有什么工具可以让它在前台运行?或者,以某种方式使用pidfile?

daemon supervisord docker

9
推荐指数
1
解决办法
1万
查看次数

如何配置 supervisord 托管程序在尝试重新启动之前等待 X 秒?

我有一个工作进程,它一次处理 1 条 RabbitMq 消息。现在,一旦 worker 退出,supervisord 就会重新启动它(它将处理下一条消息)。

我想设置一个 X 秒的间隔,这样 supervisord 就不会立即重新启动,但它会在启动另一个工人之前等待给定的时间。

这可能吗?如何?

worker-process supervisord

9
推荐指数
3
解决办法
2万
查看次数