Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 断开连接后保持SSH会话运行_Linux_Shell_Terminal - Fatal编程技术网

Linux 断开连接后保持SSH会话运行

Linux 断开连接后保持SSH会话运行,linux,shell,terminal,Linux,Shell,Terminal,我用我的笔记本电脑通过外壳终端登录学校的服务器来运行 Matlab课程。会议大约需要10个小时,我想结束会议 笔记本电脑、回家、吃饭,然后重新连接外壳终端以检查 我的Matlab课程的进度 从我知道我应该使用nohupnohup来保持我的终端处于活动状态, 但是我遇到了以下问题。这是一个屏幕截图我的外壳后,我开始 正在运行Matlab会话: 其中a=cv000_29590是来自Matlab的响应。它应该继续运行 直到cv999999,大约需要10小时 问题是,这个shell不再是交互式的。我不

我用我的笔记本电脑通过外壳终端登录学校的服务器来运行 Matlab课程。会议大约需要10个小时,我想结束会议 笔记本电脑、回家、吃饭,然后重新连接外壳终端以检查 我的Matlab课程的进度

从我知道我应该使用nohup
nohup
来保持我的终端处于活动状态, 但是我遇到了以下问题。这是一个屏幕截图我的外壳后,我开始 正在运行Matlab会话:

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

问题是,这个shell不再是交互式的。我不能再进去了 命令,也就是说,我没有地方输入
nohup
command来保存我的SSH
会话处于活动状态。

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

  • 将以下内容添加到
    .bash\u配置文件的顶部:

    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}
    }
    
  • 将以下内容放入
    .screenrc

    escape ^bb
    shell -$SHELL
    termcapinfo xterm ti@:te@
    hardstatus lastline "%-Lw[%n%f %t]%+Lw%<"
    screen -t ${USER}@${HOSTNAME}
    
    escape^bb
    贝壳-$shell
    termcapinfo xterm ti@:te@
    
    硬状态最后一行“%-Lw[%n%f%t]%+Lw%
    GNU-Screen
    tmux
    运行
    Screen
    然后启动您的进程。按ctrl+a、ctrl+d,然后注销。稍后,登录并进入
    Screen-r
    @ChrisLear awesome!!!非常感谢!!可能的重复