2013-06-06 159 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'通常在您的配置中關閉(如果它通常打開,則更改爲'&&')。這隻會對單窗格實際起作用,不過因爲有一個分割窗格切換整個窗口的選項可能不是您想要的。 –