gpt4 book ai didi

python - 如何为 FreeSWITCH 配置 Supervisord?

转载 作者:太空宇宙 更新时间:2023-11-03 15:11:55 25 4
gpt4 key购买 nike

我正在尝试配置 Supervisor用于控制 FreeSWITCH .以下是目前在supervisord.conf中的配置。

[program:freeswitch]
command=/usr/local/freeswitch/bin/freeswitch -nc -u root -g root

numprocs=1
stdout_logfile=/var/log/supervisor/freeswitch.log
stderr_logfile=/var/log/supervisor/freeswitch.log
autostart=true
autorestart=true
startsecs=10
; Need to wait for currently executing tasks to finish at shutdown.
; Increase this if you have very long running tasks.
stopwaitsecs = 600

; When resorting to send SIGKILL to the program to terminate it
; send SIGKILL to its whole process group instead,
; taking care of its children as well.
killasgroup=true

当我使用 supervisord 命令启动 supervisor 时,它会毫无错误地启动 freeswitch 进程。但是当我尝试使用 supervisorctl 命令重新启动 freeswitch 时,它不起作用并出现以下错误。

freeswitch: ERROR (not running)
freeswitch: ERROR (abnormal termination)

我无法在日志 (/var/log/supervisor/freeswitch.log) 中看到任何错误报告。但是我看到以下内容:

1773 Backgrounding.
1777 Backgrounding.
1782 Backgrounding.

好像是启动了freeswitch的三个进程。这不是错了吗?

有人可以指出这里的问题并在需要时提供正确的配置吗?

最佳答案

supervisor 要求运行的程序不要fork到后台;毕竟它的创建是为了作为后台进程运行那些无法或难以正确编写守护程序代码的程序。因此,对于您使用 supervisor 运行的每个程序,请确保它不会在后台 fork 。

在freeswitch的情况下,只需删除-nc选项即可使其在前台运行; supervisor 将适本地引导标准流并在它崩溃时重新启动进程。

关于python - 如何为 FreeSWITCH 配置 Supervisord?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25419214/

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