如何在没有集群的情况下提交作业

如何在没有集群的情况下提交作业

这可能是一个简单的问题。我刚刚设置了一台配置为 36 TB 的 ubuntu 服务器,供不到十几个人使用。在我以前的工作中,我一直使用 LSF 集群服务器,它们都有提交作业的方法,例如 qsub 和 bsub。

但是,此服务器不是集群。我想知道是否有一些软件或工具可以安装来提交作业,以便它们在夜间运行,并且我可以关闭我的交互式会话。我尝试了许多命令,例如在作业末尾添加 & 或 &! 以在后台运行它们,但在我关闭交互式会话后,作业失败。如果有人知道一个允许我们在单个服务器上提交作业的简单程序,请告诉我。

答案1

您应该使用 nohup。这是一个忽略 HUP(挂断)信号的命令。因此,如果您想启动一项工作,然后注销并让工作继续,您应该使用以下命令:

$ nohup a_job &

您应该注意,如果该进程接收 i/o(stdin、stdout、stderr),它可能会挂断。为了解决这个问题,您应该重定向 i/o:

$ nohup a_job > outfile 2> errorfile < /dev/null &

使用 nohup 的替代方法是使用终端多路复用器,如 screen 或 tmux。

相关内容