当我通过 ssh 连接并且并行进程正在运行时,它会失去所有并行进程的互联网连接。当我重新连接时,我在日志文件中找到以下消息:
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 12 in communicator MPI COMMUNICATOR 4 DUP FROM 0
with errorcode 15.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
0:Terminate signal was sent, status=: 15
(rank:0 hostname: pid:2953):ARMCI DASSERT fail. ../../ga-5-4/armci/src/common/signaltrap.c:SigTermHandler():477 cond:0
分配
描述:Ubuntu 16.04.6 LTS 版本:
16.04 代号:xenial
我怎样才能防止这种崩溃?
答案1
tmux 是这里的解决方案。问题是,当 ssh 连接关闭时,它会结束您正在运行的任何 bash 会话。要解决此问题,只需键入tmux
然后键入 run 开始运行您的程序。然后您可以按 ctrl + b,然后按 d 退出。这将使您的代码在单独的 bash 会话中运行,并且当您关闭 ssh 时,它将继续运行。您可以ssh user@ip ps a
将用户和ip替换为真实的来运行,看看关闭连接后进程是否仍在运行