2014-02-26 33 views

回答

5

使用窗口選項remain-on-exit標記窗口(及其包含的任何窗格)在其運行的命令退出後保留。

tmux new-session -d -s mysession "while true; do sleep 1; ls; done" 
tmux set-option -t mysession:0 remain-on-exit 

當你終止命令時,窗口將會保留,窗口將被標記爲「窗格已死」。要重新啓動相同的命令,請發出respawn-window。要在窗口中開始新命令(例如,交互式bash會話),請發出respawn-window bash

respawn-window(和respawn-pane,我忘了,但可以使用靶向窗口內的個別窗格)也採取-k選項,該選項可用於殺死無論是在一個窗口中運行,並且重新啓動命令或開始一個新的命令。你可以添加一些你.tmux.conf

bind-key C-c respawn-pane -k bash 

然後,在任何活動窗格,您可以鍵入Control-C殺死無論是在窗格中運行,並與一個交互式shell替換(remain-on-exit不會在這種情況下是必要的,因爲您立即用新的命令替換舊的命令)。

+0

該方法可行,但在殺死命令後運行'respawn-window'有一點煩人。 – Patryk

+0

您的問題沒有指定在退出命令後保持窗口打開所需的任何行爲。 – chepner

+0

這很像一個魅力,非常感謝。但是還有另外一個問題(我現在會暫時擱置),關閉像例如這樣的命令。例如按下「q」按鈕「頂部」或「較少」。 – Patryk

相關問題