如何在任务结束时自动重新启动 tmux (Byobu) 窗格?

如何在任务结束时自动重新启动 tmux (Byobu) 窗格?

我需要一种方法来在 tmux 窗格的进程终止后立即重新启动该窗格中的主进程。

我使用 byobu-tmux 来运行我正在开发的客户端服务器(grails)应用程序的各种组件。我编写了一个 shell 脚本,用于打开窗格并启动所有组件:

byobu-tmux split-window -h "sleep 10; <client-1-start-script>"
byobu-tmux split-window -t 1 -v -p 66 "sleep 10; <client-2-start-script>"
byobu-tmux split-window -t 2 -v -p 50 "sleep 10; <client-3-start-script>"
byobu-tmux split-window -t 0 -v "<server-start-script>"

该脚本可以工作,但是正如您对 tmux 所期望的那样,每当您杀死其中一个片段时,它都会关闭该窗格。我还尝试添加 bash 包装器:

byobu-tmux split-window <opts> "<script>; byobu-tmux respawn-pane"

并使用显式的 bash 环境:

byobu-tmux split-window <opts> "bash -i -c \"<script>\""

这个问题演示如何保持窗格打开,但是有没有办法让创建窗格时执行的命令重新运行而不是关闭窗格?

答案1

看看命令:

以及朋友们在运行一Ubuntu 中的包。

只需根据需要用其中之一包装您的命令即可。

完全披露:我是作者屏部,以及运行一套实用程序。

相关内容