我正在使用 tmuxinator。这是我的项目文件。
project_name: Network
project_root: ~/Code/Network
tabs:
- editor: vim
- worker:
layout: cd49,181x48,0,0[181x5,0,0{90x5,0,0,90x5,91,0},181x42,0,6]
panes:
- QUEUE=high,normal,low rake resque:work
-
-
- console: rails c
下面是一个工作者标签
有没有办法只禁用此选项卡关闭窗格?我想防止这种情况发生:
答案1
您可能希望将该窗口的窗口选项设置remain-on-exit
为 true。我不使用多路复用器,所以我不知道是否/如何可以在该上下文中干净地配置它。以下是如何使用普通的tmux命令将其设置为名为的现有窗口worker
:
tmux set-option -w -t :worker remain-on-exit on
这是一个窗口选项,因此它将应用于该窗口中的所有窗格。窗格的命令退出后,您可以使用respawn-pane
重新启动其命令。
tmux respawn-pane -t :worker.0
(或者Prefix:respawn-pane
重新生成当前窗格。)
但这可能不会达到你的预期,因为多路复用器似乎总是创建“默认”窗格/窗口,然后“输入”你配置的命令(即,重新启动的命令respawn-pane
将是一个简单的 shell,而不是为你的窗格配置的命令多路复用器配置)。你可能希望在循环中运行命令(在你的多路复用器配置):
while :; do QUEUE=high,normal,low rake resque:work; printf 'Hit enter to re-run... (C-c to abort)'; read; done