1

这是我的问题:我想在远程计算机上通过 ssh 运行 Mathematica 脚本,这样我就可以关闭计算机上的终端并使其在远程计算机上运行。

我的问题出现了,因为脚本在交互模式下运行,所以当我关闭终端时,进程也被关闭。

谢谢。

4

2 回答 2

3

使用tmuxGNU screen

工作流程:

  • ssh 进入远程机器
  • 启动 tmux/screen,例如tmuxscreen
  • 在 tmux/screen 会话中启动 Mathematica 脚本
  • 分离 tmux/screen 会话,例如Ctrl+B d(tmux) 或Ctrl+A d(screen)
  • 关闭 ssh 连接

然后后来:

  • ssh 进入远程机器
  • 重新附加到 tmux/screen 会话,例如tmux attachscreen -d -R
  • 查看完成的 Mathematica 脚本输出
于 2013-03-15T16:18:13.020 回答
1

几种情况:

  • 如果您不需要与其交互或需要在评估期间可视化笔记本

    1. 用ssh登录机器
    2. 然后,要在后台运行内核并将其与当前会话分离,请使用nohup工具(命令的标准输出将转储到 myNotebook.out):

      nohup math < myNotebook.nb > myNotebook.out &
      
    3. 至此,可以在不杀掉 Mathematica 的情况下关闭 ssh 会话
    4. 或者,您可以使用命令监视math命令输出tail(使用 CTRL-C 退出tail监视)

      tail -f myNotebook.out
      
  • 如果您需要查看正在发生的事情、在计算过程中可视化图表或能够以图形方式进行交互,请使用远程桌面 (vnc) 并通过隧道与远程计算机进行通信。细节取决于 Linux 发行版(vnc 客户端和服务器可能不同)。您甚至可以从 Windows 或 Mac 将远程桌面连接到您的 linux 机器并对其进行操作。我建议您在网上搜索remote desktop ssh tunnel+ 您的发行版以获取教程。

于 2013-04-06T18:28:14.893 回答