主管意外地用 SIGTERM 杀死了 Prefect 代理

Supervisor kills Prefect agent with SIGTERM unexpectedly

我正在使用 rapsberry pi 4, v10(buster)。 我按照此处的说明安装了主管:http://supervisord.org/installing.html 除了我将“pip”更改为“pip3”,因为我想监视 运行 使用 python3 内核的东西。 我正在使用 Prefect,supervisord.conf 是 运行 带有 command=/home/pi/.local/bin/prefect "agent local start" 的程序(我尝试过使用和不使用双引号)

查看 supervisord.log 文件,Prefect Agent 似乎确实启动了,我看到从命令行启动它时通常会显示的 ASCII 艺术字。但随后它显示它已被 SIGTERM 终止;没想到,WARN 收到了 SIGTERM 指示退出请求。

我看到了这个 post: 但我什至没有它引用的那个 10Periodic 文件。

有人知道 why/how 主管进程会被 sigterm 杀死吗?

您的进程可能会立即退出,因为您的命令中没有 API 密钥,而这是将您的代理连接到 Prefect Cloud API 所必需的。此外,最佳做法是始终为您的代理分配一个唯一的标签,下面是一个使用“raspberry”作为标签的示例。

您还可以查看 logs/status:

supervisorctl status

这是一个你可以尝试的命令,另外你可以在你的主管配置中指定一个目录(不确定是否需要环境变量,但我从其他 raspberry Pi 主管用户那里看到了):

[program:prefect-agent]
command=prefect agent local start -l raspberry -k YOUR_API_KEY --no-hostname-label
directory=/home/pi/.local/bin/prefect
user=pi
environment=HOME="/home/pi/.local/bin/prefect",USER="pi"