我在这里发现了一个类似的问题,但对我没有帮助,所以我问自己。
我有一个 matlab 脚本,可以在 Linux 下使用 nohup 命令完美运行。
不幸的是,我也需要在 Windows 上运行它。但我不明白为什么我的命令仍然不起作用。
我的脚本执行了一定的循环,但在第一个循环之后,它停止给我一个关于 java 或其他东西的错误。我必须告诉你,如果我不把-nodisplay
命令。
我的批处理线如下
matlab -nodisplay -automation -r "run('myfile.m')" -logfile output.txt -minimize
请帮我。
编辑:
我想我发现了我的问题,问题是当我使用时-nodisplay
linux下命令usejava('awt')
有效是因为我的java环境被禁用,但是这在Windows下不会发生!为什么?
第二次编辑:我想我找到了与我需要的非常相似的东西。
matlab -noawt -noFigureWindows -r "run('myfile.m')" -logfile output.txt -minimize
分析运行,什么也没说,但 MATLAB 命令窗口仍然以最小化方式打开..uhm
我宁愿有什么可以打开的!
我必须添加另一件事..nohup
永远不会等待并继续前进,直到到达脚本末尾,尽管使用任何其他批处理命令,例如start
如果有任何输入请求或“等待”,它就会停止,直到有人给出输入!
无证者-noawt
选项将阻止 GUI 功能,但让 Java 运行。将其与-noFigureWindows
,正如您所发现的,您应该拥有您需要的东西。或者,您可以通过 M 文件关闭图形显示 with set(0,'DefaultFigureVisible','off')
.
要查看 Java 是否实际加载,请运行ver
or version -java
。这是我所看到的-nojvm
.
![Windows MATLAB with no Java](https://i.stack.imgur.com/1VlLL.jpg)
然后,使用 Windows 的start /b /min MATLAB.exe ...
应该以最小化方式启动它,并且不保持打开的命令窗口。
制作MATLAB无形的尝试使用微小的NirCmd命令行工具如下,
nircmd.exe exec hide win64\MATLAB.exe -noawt -noFigureWindows -nosplash -minimize ...
我认为应该这样做but确保你开始实际的MATLAB.exe
in the bin\<architecture>
文件夹,不仅仅是bin\matlab.exe
因为当它启动实际的 MATLAB.exe 时,它不会被隐藏。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)