【问题标题】:Killing a script in the middle of a parfor: how to close open files?在 parfor 中间杀死一个脚本:如何关闭打开的文件?
【发布时间】:2014-06-16 01:16:38
【问题描述】:

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

【问题讨论】:

标签: matlab parfor


【解决方案1】:

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

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

或者简单地使用matlabpool close或GUI(左下)关闭并行池:

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

【讨论】:

  • 请注意,您也可以使用pctRunOnAll fclose all 代替parfor 循环。
猜你喜欢
  • 1970-01-01
  • 2013-01-04
  • 2019-10-30
  • 1970-01-01
  • 2014-08-08
  • 2011-08-18
  • 1970-01-01
  • 2017-03-16
相关资源
最近更新 更多