Nic*_*las 3 windows matlab jvm background batch-file
我在这里发现了一个类似的问题对我没有帮助,所以我问自己.我有一个matlab脚本,在linux下使用nohup命令完美地工作.不幸的是,我还需要在Windows上运行它.但我无法理解为什么我的命令仍然不起作用.我的脚本做了一个循环,但在第一次它停止给我一个关于java或其他东西的错误.我必须告诉你,如果我不放-nodisplay
命令,linux下会出现同样的问题.
我的批次行如下
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
Run Code Online (Sandbox Code Playgroud)
分析运行,一言不发,但MATLAB命令窗口仍然打开最小化......我宁愿打开任何东西!
我必须添加另一个东西.. nohup
永远等待并继续前进,直到它到达脚本结束,然而使用任何其他批处理命令,start
如果有任何输入请求或"等待"它停止,直到有人给出输入!
未记录的-noawt
选项将阻止GUI功能,但让Java运行.-noFigureWindows
正如您所发现的那样,结合它,您应该拥有您需要的东西.另外,您也可以通过您的M档关闭图形显示用set(0,'DefaultFigureVisible','off')
.
要查看Java是否实际加载,运行ver
或version -java
.这就是我所看到的-nojvm
.
然后,使用Windows' start /b /min MATLAB.exe ...
应该最小化并且不打开命令窗口.
要使MATLAB 不可见,请尝试使用微小的NirCmd命令行工具,如下所示,
nircmd.exe exec hide win64\MATLAB.exe -noawt -noFigureWindows -nosplash -minimize ...
Run Code Online (Sandbox Code Playgroud)
我认为应该这样做,但要确保你MATLAB.exe
在bin\<architecture>
文件夹中启动实际,而不仅仅是bin\matlab.exe
因为它启动实际的MATLAB.exe时,它不会被隐藏.