提交工作到Linux工作站

我可以访问一些Linux工作站,从笔记本电脑上运行我的C ++可执行文件,但问题是,每次我从笔记本电脑的terminal运行作业时,都必须为每个作业保留一个terminal窗口…我需要一种将作业提交到Linux机器并在执行完成后才能看到结果的方法…我知道这可以在FORTRAN可执行文件中通过在最后加上&来完成,我试着用:mpirun -np 20 ./a 200 1000000&和mpirun -np 20 ./a 200 1000000&但是他们不工作…

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

如何使用屏幕命令?

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

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

由于没有nohup东西,你不能退出在后台运行作业的会话,或者当Shell发送一个HUP信号时它们将停止运行。

使用tmux或较旧的screen在远程服务器上维护一个terminal会话,您可以随意附加和分离该terminal会话。 查看每个命令的文档以获取具体信息。

我假设你有很多的工作,并希望有一个队列放在哪个工作。 我会推荐使用像redis的东西,但屏幕/ tmux方法也非常稳固。