在parfor中间杀死一个脚本:如何关闭打开的文件?

时间:2014-06-15 17:08:28

标签: matlab parfor

当我在parfor中间中断脚本时,Matlab仍会打开一些文件(例如我无法删除它们)。我通常会调用flcose('all')来关闭所有打开的文件,但在这种情况下似乎不起作用。我该怎么办?

1 个答案:

答案 0 :(得分:2)

那是因为parfor创建了一堆拥有自己文件句柄的Matlab奴隶。两个主要的解决方案是:

parfor i=1:12 % 12 or some number over your number of workers
   fclose('all')
end

或者只是使用matlabpool close或GUI(左下角)关闭并行池:

enter image description here

请注意,您可以使用Process Explorer查找在Windows中打开文件的进程:

enter image description here