2013-06-06 79 views

回答

6

您可以设置remain-on-exit窗口选项,以防止tmux在运行该窗口的进程结束时关闭窗口(窗格)。

setw remain-on-exit on 

会话选项set-remain-on-exit也可;利用它,您可以安排会话的所有窗口/窗格自动打开remain-on-exit


经过remain-on-exit窗格的处理结束时,窗格将显示消息“窗格是死”,直到它与所述命令kill-pane(或kill-window)关闭,或者一个新的命令与respawn-pane(或respawn-window开始有)。

respawn-pane 'rails c'  # respawn with a specific command 
respawn-pane    # respawn whatever the previous command 

如果你不是太在意干净退出窗格的现有流程,那么你甚至可以重新启动窗格在没有先退出当前过程是这样的:

respawn-pane -k   # kill current process (if any) and respawn the previous command 
+0

伟大的答案!谢谢! –

+0

如果进程退出并返回代码!= 0,是否可以执行此操作('退出时保留')? – blueyed

+0

@blueyed:“退出时剩余”代码没有测试退出状态,但可以将其作为命令的最后一步进行调整。只有非零出口仍然可以用'neww'zsh -l ||之类的东西来启动窗口tmux set -q“保持退出”,如果'keep-on-exit'通常在您的配置中关闭(如果它通常打开,则更改为'&&')。这只会对单窗格实际起作用,不过因为有一个分割窗格切换整个窗口的选项可能不是您想要的。 –