【问题标题】:How to tell Bash to not stop the simulations when ssh disconnects?当 ssh 断开连接时,如何告诉 Bash 不要停止模拟?
【发布时间】:2014-12-02 04:19:12
【问题描述】:

我正在通过ssh 在另一台机器上运行一些模拟。这就是我的工作

ssh username@ipp.ip.ip.ip

转到正确的目录

cd path/to/folder

然后我只调用我的可执行文件

.\myexecutable.exe

问题是每次 ssh 断开连接时,模拟都会停止。如何确保模拟不会在另一台机器上停止?重新连接 (ssh) 后,我会以某种方式收到潜在的错误消息(假设代码会崩溃)吗?

【问题讨论】:

    标签: macos bash ssh exec


    【解决方案1】:

    您应该启动screentmux 来创建一个终端,您可以从中分离、在后台运行并稍后重新连接。

    进一步阅读:

    您可能还想试试 Byobu:

    【讨论】:

      【解决方案2】:

      按如下方式运行您的命令:nohup ./myexecutable.exe >nohup.out 2>&1 &

      &是后台运行命令
      >nohup.out 2>&1 将您的标准输出和标准错误发送到 nohup.out)

      注意 '/' 而不是 '\' - 这在 osx 上不起作用

      【讨论】:

      • 非常感谢您的回答。我不太明白nohup.out 应该是什么。它应该是我电脑上的文件吗?某个终端的 ID(如果存在终端 ID 的概念)?我不太了解21 的数字,但这对我来说可能太先进了。
      • nohup 不会自动处理重定向标准输出(和标准错误)到nohup.out 吗?是否需要手动处理重定向?
      • nohup.out 是您的命令的输出,2>&1 告诉它将 stderr 重定向到 stdout
      • @Remi.b nohup.out 是一个文件名。你可以使用任何你想要的,它将为你创建。有关2>&1 位的更多信息,请参阅here 的一些问题和答案。
      • @etan - stderr no, nohup.out 为了清楚起见
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      相关资源
      最近更新 更多