gpt4 book ai didi

linux - 断开连接后保持 SSH session 运行

转载 作者:太空宇宙 更新时间:2023-11-04 05:25:25 32 4
gpt4 key购买 nike

我正在通过 shell 终端使用我的笔记本电脑登录学校的服务器来运行Matlab session 。 session 大约需要 10 个小时,我想结束我的 session 笔记本电脑,回家,吃晚饭,然后重新连接 shell 终端来检查我的 Matlab session 的进度。

来自this link我知道我应该使用 nohup nohup 来保持我的终端处于事件状态,但我遇到了以下问题。这是我启动后 shell 的屏幕截图运行 Matlab session :

my matlab session

其中a = cv000_29590是Matlab的响应。它应该继续运行直到cv999999,大约需要 10 小时。

问题是,这个 shell 不再具有交互性。我无法再进入命令,也就是说,我没有地方输入 nohupcommand 来保留我的 SSH session 处于事件状态。

最佳答案

在您已经开始 session 之后,这实际上是不可能的。但对于新 session ,您可以执行以下操作:

  1. 将以下内容添加到 .bash_profile 顶部:

    if [ -z "${PS1}" ] ; then
    return
    fi

    if [ "${TERM}" != "screen" ] ; then
    export HOSTNAME
    exec screen -xRR
    fi

    function new {
    u=${1:-$USER}
    test ${u} = ${USER} && screen -t ${u}@${HOSTNAME} || screen -t ${u}@${HOSTNAME} su --login ${u}
    }
  2. 将以下内容放入.screenrc中:

    escape ^bb
    shell -$SHELL
    termcapinfo xterm ti@:te@
    hardstatus lastline "%-Lw[%n%f %t]%+Lw%<"
    screen -t ${USER}@${HOSTNAME}

    这些主要是我自己对屏幕的定制。其中最重要的是,我将屏幕转义字符设置为 CTRL-b 而不是默认的 CTRL-a,这样我仍然可以在 bash 中使用 CTRL-a 转到行首。

  3. 使用 CTRL-b c 在新窗口中创建 shell(或者只需在 bash 提示符下键入 new 即可使用该功能)。并使用 CTRL-b d 分离您的 session 并使其保持运行。下次登录时,您将重新连接到 session ,一切都将保持原样。使用 CTRL-b n 循环浏览您创建的窗口。如果您不想使用多个窗口,则不必这样做,只需使用保持 session 运行并稍后重新连接的功能即可。

关于linux - 断开连接后保持 SSH session 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33041892/

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