我有一个Matlab脚本,当我ssh到服务器时,我用nohup运行。由于某种原因,它看起来像程序运行完美"完美"但是当我检查输出文件时它是空白的,并且没有创建它应该生成的文件。所以似乎MATLAB进入我想要运行的函数内部,然后偶尔退出。然而它退出了一个非常奇怪的[+ DONE]标志,因为它确实没有完成,如果有的话,我认为它实际上并没有......
如果我打开MATLAB并在GUI上运行相同的功能,我就不会遇到同样的问题。
这是我放在终端中的内容:
nohup matlab -nojvm -nodisplay -nosplash <function_CV.m >CV_file.txt </dev/null &
我添加了&#34;&lt;的/ dev / null的&#34; 因为我的nohup因为循环错误的文件描述符错误而变得奇怪。对于诸如魔法(3)之类的无意义指令;退出;所以我不确定我的nohup版本是否有错误?
更新:我决定使用屏幕代替。我仍然很欣赏这个问题的任何解决方法。
答案 0 :(得分:0)
确实很奇怪。我能提出的唯一解决方案是替换:
nohup matlab -nojvm -nodisplay -nosplash <function_CV.m >CV_file.txt </dev/null &
使用:
nohup matlab -nojvm -nodisplay -nosplash function_CV.M > /dev/null 2>&1 & echo $! > CV_file.txt
我尝试使用一些自己的.m文件并且它有效,所以要么它应该适合你,要么问题出在你的function_CV.m中。
希望这可以帮助!