【问题标题】:Wait for Matlab "system" function to finish before continuing script execution在继续执行脚本之前等待 Matlab“系统”功能完成
【发布时间】:2018-03-01 14:37:26
【问题描述】:

我在 Windows 10 上运行 Matlab 脚本,该脚本又调用一个 shell 脚本文件,以便使用 bash 在 Ubuntu 上运行一些模拟。 根据定义,Matlab“系统”函数在继续执行 Matlab 脚本之前等待 .sh 文件完成。当 .sh 函数调用子进程时会出现问题,因为在这种情况下,Matlab 不会等待该子进程完成并继续执行 Matlab 脚本。 有人知道如何强制 Matlab 在继续执行之前等待 .sh 脚本完全完成吗?

【问题讨论】:

  • 我不认为你可以,因为这是在 MATLAB 之外控制的,它是操作系统的东西。除非您可以使该子进程信号 MATLAB....
  • 在子进程完成之前,shell 脚本不应该完成,除非您异步启动它们(在末尾使用 &)。但一种解决方法是让 MATLAB 等待写入结果文件。尝试打开文件,如果不存在,请稍等,然后重复。

标签: matlab system


【解决方案1】:

在系统之前和之后插入这个(代码名)

if exist(RelutFileName, 'file')==2; delete (RelutFileName); end

system(CodeName);

while exist(RelutFileName, 'file')~=2; pause(1); end

【讨论】:

  • 你能解释一下它的作用吗?
猜你喜欢
  • 1970-01-01
  • 2020-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-17
  • 1970-01-01
  • 2011-03-19
相关资源
最近更新 更多