您的位置:首页 > 编程语言 > MATLAB

ssh远程后台执行matlab程序(可并行优化)

2017-12-12 09:32 2626 查看
(首先声明我用的linux版本为Ubuntu 14.04 LTS)

今天发现原来远程后台matlab的方法

nohup matlab xxx.m &

无法正常exit退出,这就导致了终端断开后程序中断

在网上找到了一个方法

nohup matlab -nojvm -nodisplay -nosplash -nodesktop -r go &(!注意go是M文件go.m的名字,只是去了.m)

这种方法存在一个问题,matlab程序运行结束后不会自动终止,nohup.out文件不断在记录log文件信息,最终会导致硬盘爆满,所以无用;同时,这个方法无法使matlab程序并行执行,这也是一个关键问题(毕竟服务器的单核效率不高。。。)

通过尝试,我发现

1.   -r 是执行命令行的命令,不适合执行 .m 文件,所以应该去掉

2.    Java虚拟机在并行执行程序过程中要用到,所以不能禁用,所以 -nojvm 应该去掉

3.    要执行 .m 文件,我们需要有执行符号,即 <,因此在.m文件前加上<

最终的命令为:

nohup matlab -nodisplay -nosplash -nodesktop <xxx.m &

测试后,这个命令可以exit终端保持程序继续运行,同时可并行执行程序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息