我运行一个matlab脚本(称之为INIT.m),它负责并行工具箱初始化和运行原始脚本。现在,有时,由于一些不可预测的数据问题,并行工具箱由于matlabpool作业中的错误而停止(可能)。
我想在发生此类事故时重新运行INIT.m.
它可以是另一个matlab脚本,也可以是shell脚本/ java代码。
任何形式的帮助都将受到赞赏。
提前致谢。
更新(错误声明和环境)它提供以下错误消息并停止(但不要退出)
MATLAB is exiting because of fatal error
??? Error using ==> parallel_function at 598
The session that parfor is using has shut down
它也说
??? The client lost connection to lab 117.
This might be due to network problems, or the interactive matlabpool job might have errored
环境:Linux
答案 0 :(得分:1)
我假设您正在运行某种UNIX。我也假设“崩溃”你的意思是MATLAB本身就死了。在运行MATLAB之前,您可以安装一个钩子来响应信号(使用trap
):
http://www.linuxcommand.org/wss0160.php
信号列表: http://en.wikibooks.org/wiki/Bourne_Shell_Scripting/Debugging_and_signal_handling#System_signals
显然你必须找出杀死你的程序的信号。