首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用stdout在后台运行MATLAB系统命令

使用stdout在后台运行MATLAB系统命令
EN

Stack Overflow用户
提问于 2016-01-07 00:50:58
回答 1查看 371关注 0票数 0

我正在使用MATLAB并通过系统命令调用.exe。

代码语言:javascript
复制
[status,cmdout] = system(command_s);

其中,command_s是一个命令字符串,它在我的脚本前面格式化,以便将所有需要的选项传递给.exe。.exe通常会通过>重定向操作符写入到.csv文件中。相反,此输出将发送到cmdout,稍后我将在MATLAB脚本中使用它。它工作正常,正如预期的那样。我这样做是为了让进程只使用内存,而不是将一个非常大的文件写入磁盘,然后必须从磁盘读取该文件,然后在我完成后将其删除。最后,它会保存一个通常大小为几百KB的.mat文件,而不是像.csv文件那样大小为10s/100s的.mat文件(最后会丢弃一些不需要的数据)。

我遇到的问题是,因为我正在处理大文件,所以可执行文件可能会花费大量的时间。执行此命令后,我通常需要等待大约2分钟。在此期间,我没有得到任何反馈,我知道它正在进步,我的系统没有死机。我知道我可以将&符号添加到字符串command_s的末尾,并在代码在后台运行时运行MATLAB代码(或者像一些人所说的异步运行),但这会打开一个外部窗口,并使cmdout为空-因此我不能使用输出-迫使我在那里坐2分钟,思考每次它执行的情况。

有没有办法在后台运行并从命令中获取stdout?

EN

回答 1

Stack Overflow用户

发布于 2016-01-07 15:12:51

也许你可以试试系统(command_s,'-echo')?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34638369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档