【发布时间】:2014-12-02 04:19:12
【问题描述】:
我正在通过ssh 在另一台机器上运行一些模拟。这就是我的工作
ssh username@ipp.ip.ip.ip
转到正确的目录
cd path/to/folder
然后我只调用我的可执行文件
.\myexecutable.exe
问题是每次 ssh 断开连接时,模拟都会停止。如何确保模拟不会在另一台机器上停止?重新连接 (ssh) 后,我会以某种方式收到潜在的错误消息(假设代码会崩溃)吗?
【问题讨论】:
我正在通过ssh 在另一台机器上运行一些模拟。这就是我的工作
ssh username@ipp.ip.ip.ip
转到正确的目录
cd path/to/folder
然后我只调用我的可执行文件
.\myexecutable.exe
问题是每次 ssh 断开连接时,模拟都会停止。如何确保模拟不会在另一台机器上停止?重新连接 (ssh) 后,我会以某种方式收到潜在的错误消息(假设代码会崩溃)吗?
【问题讨论】:
您应该启动screen 或tmux 来创建一个终端,您可以从中分离、在后台运行并稍后重新连接。
进一步阅读:
您可能还想试试 Byobu:
【讨论】:
按如下方式运行您的命令:nohup ./myexecutable.exe >nohup.out 2>&1 &
&是后台运行命令>nohup.out 2>&1 将您的标准输出和标准错误发送到 nohup.out)
注意 '/' 而不是 '\' - 这在 osx 上不起作用
【讨论】:
nohup.out 应该是什么。它应该是我电脑上的文件吗?某个终端的 ID(如果存在终端 ID 的概念)?我不太了解2 和1 的数字,但这对我来说可能太先进了。
nohup 不会自动处理重定向标准输出(和标准错误)到nohup.out 吗?是否需要手动处理重定向?
nohup.out 是一个文件名。你可以使用任何你想要的,它将为你创建。有关2>&1 位的更多信息,请参阅here 的一些问题和答案。