gpt4 book ai didi

supervisord - 有条件地运行受监督的程序

转载 作者:行者123 更新时间:2023-12-03 16:18:57 24 4
gpt4 key购买 nike

可以说我在主管中有两个程序。有没有一种方法可以有条件地运行第一个程序(后台进程)而不必将其移动到单独的脚本文件中?

[supervisord]
nodaemon=true
logfile=/tmp/supervisord.log

#Need this program to run conditionally - say based off an environment variable being set
[program:prog1]
command=/bin/prog1

[program:prog2]
command=/bin/prog2 -DFOREGROUND

最佳答案

恢复旧线程,但@nelson的答案不完整。即, super 用户中的环境变量需要被格式化为%(ENV_YOURVARIABLE)s才能被识别(请注意方括号前面的前缀ENV_%符号和末尾的s)。另外,您必须先导出它,然后再将其发送到bash脚本:

[program:prog1]
command=bash -c "export INIT_PROG=%(ENV_INIT_PROG)s && ./conditional-startup.sh"

conditional-startup.sh:
#!/bin/bash

if [ $INIT_PROG = "some value" ]; then
/bin/prog1
fi

另请参见:
  • Supervisor configuration
  • 关于supervisord - 有条件地运行受监督的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36289806/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com