我有一些脚本,我想在后台运行在我的桌面(Windows 7)机器上。我理解,要做到这一点,我需要使用如下命令启动MATLAB:
matlab -nosplash -noFigureWindows -r "myScriptName"
我还理解,要使这一工作顺利进行,我需要在脚本的末尾包含一个exit命令。
是否有一种方法可以可靠地确定脚本是在后台进程中运行还是以交互方式运行?我想避免在交互过程中无意中运行脚本并意外地杀死MATLAB会话的情况。
if ~RunningInInteractiveMode
exit
end是否有一个函数或其他布尔测试可以替代~RunningInInteractiveMode?我看过these methods,但是-noDesktop没有选项,所以总是有一个命令窗口打开(辅助问题:在没有完全打开命令窗口的情况下,一个人能在Windows中完全运行MATLAB吗?)如果有关系,我正在运行r2014a。
发布于 2014-08-12 17:56:18
您可以使用参数来运行脚本:
matlab -nosplash -noFigureWindows -r "background=true;myscript"这样,在脚本的末尾:
if exist background
exit
end发布于 2014-08-12 18:46:19
使用feature('ShowFigureWindows')检查是否使用-noFigureWindows,使用usejava('jvm')检测JRE是否可用。
background_task=~feature('ShowFigureWindows')||~usejava('jvm')发布于 2018-08-27 05:17:57
不需要将exit添加到脚本中,可以将其添加到命令行:
matlab -nosplash -noFigureWindows -r "myScriptName;exit"https://stackoverflow.com/questions/25270908
复制相似问题