我想在远程Linux服务器中运行多个应用程序实例,该服务器实例将以并行方式运行,并且在注销后也可以运行。我想使用一个shell脚本启动它们。
假设我要并行运行以下命令:
matlab -nodisplay -r "matlab_test"
matlab -nodisplay -r "matlab_test2"
并且假设这些进程分别尽可能频繁地更新名为“ test_file.mat”和“ test_file2.mat”的文件。
我尝试了几种用谷歌搜索出的方法,但这是最具代表性的方法。
我尝试了以下组合,以便在将来的shell脚本中使用它:
matlab -nodisplay -r "matlab_test" &
bg 1
结果:根本没有生成输出文件“ test_file.mat”,所以我假定该进程已置于后台,但未运行那里。
注:当我执行此过程时,将生成文件。
我也尝试过:
nohup matlab -nodisplay -r "matlab_test" &
结果:命令提示符已被占用,据我所知,这防止了调用下一个命令。
尝试nohup matlab "matlab_test" &
应该起作用。