向 Linux 工作站提交作业

向 Linux 工作站提交作业

我可以访问一些 Linux 工作站,在这些工作站上我可以在我的笔记本电脑上运行我的 C++ 可执行文件,但问题是每次我从笔记本电脑的终端运行作业时,我都必须为每个作业保留一个终端窗口...我需要一种方法将作业提交给 Linux 机器,并且只在执行完成后查看一次结果...我知道这可以在 FORTRAN 可执行文件中完成,只需在末尾添加 & 即可,我尝试使用:mpirun -np 20 ./a 200 1000000& 和 mpirun -np 20 ./a 200 1000000 & 但它们都不起作用......

有没有办法在 Linux 中做同样的事情?

答案1

使用屏幕命令怎么样?

答案2

正如其他人所说,你可以运行它们screentmux你也可以看看nohup

  nohup mpirun -np 20 ./a 200 1000000 &  > output.log 2>&1   

因为如果没有类似的东西,nohup您就无法退出在后台运行作业的会话,否则当 Shell 发送信号时它们将停止运行HUP

答案3

使用tmux或更早的版本screen在远程服务器上维护终端会话,您可以随意连接或断开连接。查看每个命令的文档以了解具体信息。

答案4

我假设你有很多作业,并且希望有一个队列来放置作业。我建议使用类似redis,但 screen/tmux 方法也相当可靠。

相关内容