我正在使用 SSH 安全外壳运行 MPI 程序。由于 Wi-Fi 断开连接,我的计算机与服务器失去连接,导致服务器上的运行进程失败。
按照上述建议的解决方案,我尝试使用“screen -dmSL”命令,定义以另一个名称命名的“workstuff”,然后使用我给出的命令(格式为“。/mpirun ......”)来执行该过程。
在终端(在 OpenSuse Linux 环境中)中,我使用“Ctrl-z”暂停了该进程。它工作得很好。但是当我在一小时后重新启动 SSH Shell 以检查该进程是否完成并输入命令“screen -x“...”(工作名称)时。我收到消息“没有与“...”(工作名称)匹配的屏幕可以附加”。
我进入子文件夹后执行了该过程。所以我也用这种方法尝试了。但什么也没发生。
我在发出命令时是否遗漏了什么?请提供解决方案。
我提前谢谢你。
答案1
您需要查看屏幕输出吗?如果不需要,只需在末尾使用与号 (&) 运行该过程,如下所示:
./my_process&
如果你做需要输出,那么在大多数情况下,您可以将 stdout 传送到这样的文件:
./my_process > output.txt&
答案2
你试过了吗禁止
nohup ./myprogram > foo.out 2> foo.err </dev/null &
答案3
查看手册页上的 -r/-R 和 -d/-D 选项screen
。screen -D -RR -x ... (workstuff)
当分离的屏幕不允许我重新连接时,运行对我来说是可行的。