我想使用 xterm 在安装在远程 Linux 机器上的 MATLAB 中运行长时间的模拟(24 小时)。
我可以轻松地从我的 Macbook 连接到远程机器,并使用 xterm 启动 MATLAB。
我遇到的问题问题是,我的 Macbook 需要处于物理开启状态,以便 MATLAB 在 xterm 中保持打开状态并继续进行模拟。但是,我想在模拟执行时进入睡眠状态,然后关闭笔记本电脑。
过去我曾使用过屏幕成功后,分离并稍后返回到运行长时间模拟的命令行程序。但是,我不知道如何在 xterm 中使用它。
答案1
不幸的是,xterm 无法做到这一点。当 xterm 退出(或断开连接)时,该进程将失去对 TTY 的访问权限,并将关闭或消失在后台。重新连接后,您将无法连接到它。
当您的客户端断开连接时,您将需要一个终端多路复用器screen
来tmux
处理远程服务器上的 TTY I/O。
答案2
谢谢mtak的回复。
我通过使用解决了这个问题屏幕并在命令提示符下执行 MATLAB:
$ screen
$ /path/to/matlab/bin/matlab -nodisplay -nosplash -nodesktop -r "run('/path/to/code/mycode.m');exit;"
然后按 ctrl-ad 断开终端。让模拟继续运行,然后进入休眠状态等。几个小时后回来,将 xterm 连接到远程机器,然后
$ screen -r
在终端检查进度。