使用 tmux 作为 Supervisorctl 服务来管理多个下载器?

使用 tmux 作为 Supervisorctl 服务来管理多个下载器?

我有许多数据服务器,我需要在数据可用时立即通过 http 下载数据。对于每个服务器,我都会启动一个bashwhile true”循环,并在其中wget轮询服务器以获取新数据。为了启动所有服务器,bash我创建了一个tmux配置,为每个循环启动一个窗口,例如循环和wget。这增加了更容易检查正在发生的事情的好处。

我想supervisor从这个配置创建一个服务,它将允许我tmux同时启动、停止和重新启动它及其下载客户端。

但是,当我退出 时tmux,由于 的本质tmuxbashs 及其wgets 仍会继续运行。有没有办法解决这个问题,让我可以退出所有内容,然后使用简单的 重新启动所有内容supvervisorctl tmuxservice restart

答案1

当你说“退出tmux”时,我想你真的只是退出了会议。如果您终止会话,tmux其中的所有窗口都将关闭。例如,如果您tmux以以下方式开始:

tmux new-session -s test1

然后你可以使用以下命令关闭它及其所有窗口:

tmux kill-session -t test1

您可以围绕您的配置和这些命令创建一个主管服务。

相关内容