我查看了文档等,但我没有看到任何明显的东西。我希望有一个信号处理程序可以拦截^C
,^\
或其他一些可用于中断长时间运行脚本的按键(每个离散计算通常都是<1s)和允许它正常退出并保存当前状态。
Matlab确实有COM的事件处理程序,但它只是windows,我在* nix环境中。
如果答案是'艰难的运气',那我很酷......我只是没有看到任何说我已经SOL的东西了。
答案 0 :(得分:6)
MATLAB已将^C
解释为中断。您可以使用onCleanup
个对象来确保正确保留您的程序状态。即类似的东西:
function testFcn
x = onCleanup( @() disp('perform cleanup here...') );
for ii=1:1000, disp(ii), pause(1), end
运行上述内容并在您感到无聊时点击^C
。显然,您可以将任何函数句柄挂钩到onCleanup
对象中。另请参阅reference page for onCleanup。