gpt4 book ai didi

shell - 当我退出它在里面运行的命令时,如何创建不会被破坏的 Pane ?

转载 作者:行者123 更新时间:2023-12-01 10:49:28 25 4
gpt4 key购买 nike

我想在 tmux 中创建 Pane 像这样:

$ tmux new-session -d -s mysession "while true; do sleep 1; ls; done" 
$ tmux split-window -h "while true; do sleep 1; ls -l; done"

以这种方式运行它,当我取消在 Pane (窗口)中运行的命令时,我会立即关闭它。如何避免这种行为?

最佳答案

使用 remain-on-exit window 选项来标记窗口(及其包含的任何 Pane )在它运行的命令退出后保留。

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

当您终止命令时,窗口将保留,并且 [ Pane ] 将标记为“ Pane 已死”。要重新启动相同的命令,请发出 respawn-window .要在窗口中启动新命令(例如,交互式 bash session ),请发出 respawn-window bash .
respawn-window (和 respawn-pane ,我忘记了,但可用于定位窗口中的单个 Pane )也采用 -k选项,可用于终止窗口中正在运行的任何内容,然后重新启动命令或启动新命令。你可以添加一些东西到你的 .tmux.conf喜欢
bind-key C-c respawn-pane -k bash

然后,在任何事件 Pane 中,您可以键入 Control-C 来终止 Pane 中正在运行的任何内容并将其替换为交互式 shell(在这种情况下, remain-on-exit 不是必需的,因为您立即将旧命令替换为新的一个)。

关于shell - 当我退出它在里面运行的命令时,如何创建不会被破坏的 Pane ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com