Parallel processing 脚本,用于在发生崩溃时运行Matlab脚本

Parallel processing 脚本,用于在发生崩溃时运行Matlab脚本,parallel-processing,matlab,Parallel Processing,Matlab,我运行一个matlab脚本(称为INIT.m),负责并行工具箱初始化和运行原始脚本。现在,有时,由于一些不可预测的数据问题,并行工具箱会由于matlabpool作业中的错误而停止(可能) 我想在发生这种崩溃时重新运行INIT.m 它可以是另一个matlab脚本,也可以是shell脚本/java代码 任何形式的帮助都将不胜感激 提前谢谢 更新(错误语句和环境) 它给出以下错误消息并停止(但不退出) 由于出现致命错误,MATLAB正在退出 ??? 在598处使用==>parallel_函数时出错 p

我运行一个matlab脚本(称为INIT.m),负责并行工具箱初始化和运行原始脚本。现在,有时,由于一些不可预测的数据问题,并行工具箱会由于matlabpool作业中的错误而停止(可能)

我想在发生这种崩溃时重新运行INIT.m

它可以是另一个matlab脚本,也可以是shell脚本/java代码

任何形式的帮助都将不胜感激

提前谢谢

更新(错误语句和环境) 它给出以下错误消息并停止(但不退出)

由于出现致命错误,MATLAB正在退出 ??? 在598处使用==>parallel_函数时出错 parfor正在使用的会话已关闭

它还说

???客户端与实验室117失去了连接。
这可能是由于网络问题,或者交互式matlabpool作业可能出错


环境:Linux

我假设您正在运行某种UNIX。我还假设“崩溃”意味着MATLAB本身死亡。在运行MATLAB之前,您可以安装一个钩子来对信号做出反应(使用
trap
):

信号列表:


显然,你必须找出是什么信号在扼杀你的程序。

你有没有研究过
try
catch
?try-catch不起作用,因为这是一个分段错误。这是一个很好的建议,我也考虑过。但我不确定接口。我在用Ubuntu。我所说的崩溃是指进程关闭(我用错误语句更新了问题)。所以,实际上matlab并没有退出。它连接到N个实验室,其中一个导致错误(Seg故障)。结果,所有的实验室都关闭了。