我有一个命令,它使用 !powershell 调用 powershell。 它工作正常,但是,第一个命令将从外部程序执行数据发布操作,并且在发布数据有订阅者之前不会继续 MATLAB 中的下一行代码。 问题是下一行代码是订阅已发布数据的代码行,因此它只是永远等待数据。任何想法如何使代码继续?我已经尝试了继续语句,但由于我调用了 powershell,它保留在那里并且 MATLAB 命令不会被执行。另外,我尝试向后运行命令,因此首先是订阅者,然后是发布者,但遇到了同样的问题。有什么想法吗?
pubPath = 'powershell -inputformat none cd path' ;
subPath = 'powershell -inputformat none cd path2';
[status_one,publish] = system(pubPath);
[status_two,subscribe] = system(subPath);
需要在后台启动作业,以便 PowerShell 在作业完成之前立即返回。请注意,等待作业完成的是 PowerShell,而不是 MATLAB。
用与号 (&
( 结束 PowerShell 命令以在后台运行它:
[status_one,publish] = system('powershell -inputformat none cd path &');