我想要镜像大约 15 个不同服务器的数据,这些服务器不定期但持续地提供我需要的文件。
为此,我创建了一个 tmux conf,它打开 15 个 tmux 窗口,其中的 shell 运行 wget 或其他程序,以循环方式进行单独下载(因此它们进行轮询)。
我希望能够连接到 tmux 来查看下载进度或调试它们。此外,我希望能够同时启动、重新启动和停止下载器+tmux。
不幸的是,我只能使用 Supervisor 3.0。我能以某种方式配置 tmux-server 以在退出时关闭所有窗口或类似操作吗?
答案1
tmux kill-session
将终止特定的 tmux 会话和所有子进程,但保持 tmux 服务器运行。
kill-session
[-a] [-t target-session] Destroy the given session, closing any
windows linked to it and no other sessions, and detaching all
clients attached to it. If -a is given, all sessions but the
specified one is killed.
tmux kill-server
将对该 tmux 服务器上的所有会话执行上述操作,然后终止 tmux 服务器本身。
kill-server
Kill the tmux server and clients and destroy all sessions.
您可能还需要设置一个包装脚本来启动和停止 tmux,而不是让主管直接执行此操作。请参阅 Stack Overflow 上的此答案。