主管内部的命令获取退出代码 1

问题描述

发生了什么:我安装了一个名为 webhook 的库,我用它来运行这个:webhook -hooks /home/njoppi2/Documents/Webhooks/hooks.json -verbose -port 9072,它基本上运行一个服务器,它侦听我的端口 9072 并在收到请求时执行一个文件。当我在我的 ubuntu 终端上运行时,它在 OUTSIDE supervisor 之外完美地工作,这是一个打印:

enter image description here

我注意到每次 webhook 工作时都会发生的一个指标是,在倒数第二行的“命令输出”之后没有错误

但是,如果我使用supervisor,配置如下(在/etc/supervisor/conf.d/webhooks.conf中):

[program:webhooks]
command=bash -c "/usr/bin/webhook -hooks /home/njoppi2/Documents/Webhooks/hooks.json -verbose -port 9072"
redirect_stderr=true
autostart=true
autorestart=true
user=njoppi2
numprocs=1
process_name=%(program_name)s_%(process_num)s
stdout_logfile=/home/njoppi2/Documents/Webhooks/logsSupervisorHooks/supervisor.log
stderr_logfile=/home/njoppi2/Documents/Webhooks/logsSupervisorHooks/supervisorError.log
environment=HOME="/home/njoppi2",USER="njoppi2"

服务器运行,获取请求,但是钩子没有执行,我得到了这个输出(注意倒数第二行的错误,这显然意味着发生了不允许的操作,根据https://tldp.org/LDP/abs/html/exitcodes.html):

enter image description here

Obs:导致此错误的原因似乎是我的钩子中的代码

#!/bin/sh
/bin/systemctl suspend

我这样说是因为如果我删除 systemctl suspend 行,webhook 在调用时不再显示错误退出代码 1。为什么是这样? 我该怎么做才能阻止这个仅在 Supervisor 内部运行时发生的 webhook 错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)