在Octave中一次运行多个外部命令

时间:2017-01-27 00:17:22

标签: matlab cygwin octave

我正在尝试打开多个cygwin终端,并通过octave GUI在每个终端中运行.exe文件。我能够在MATLAB中执行此操作,但八度音程中的完全相同的代码不起作用。 使用的代码:

<head>
<script>
function play() {
document.getElementById('test').play();
}
</script>
</head>
<body>
<audio id='test' src='howdoyoufeel.wav'></audio>
<a href="activity.html">
<img src="smile.png" onClick='play()' />
</a>
</body>

dos(['C:\cygwin64\bin\mintty.exe /bin/bash -login ./testtorun_ig1_1.sh']); dos(['C:\cygwin64\bin\mintty.exe /bin/bash -login ./testtorun_ig1_2.sh']); dos(['C:\cygwin64\bin\mintty.exe /bin/bash -login ./testtorun_ig1_3.sh']); dos(['C:\cygwin64\bin\mintty.exe /bin/bash -login ./testtorun_ig1_4.sh']); 具有打开.exe文件的命令。

八度音程中发生的事情是,最初一个cygwin终端打开并运行.exe文件。应用程序完成并退出后,cygwin终端关闭并打开下一个cygwin终端打开并运行第二个.exe文件。我希望能够一次运行4个cygwin终端,这是在MATLAB中发生但不在八度音程中

1 个答案:

答案 0 :(得分:3)

在Octave中,dos等待外部命令完成后再执行更多命令。

  

Octave等待外部命令完成,然后返回状态中的程序退出状态和文本中的任何输出。

如果要异步评估外部命令,则应使用带有'async'输入参数的system命令

id = system('C:\cygwin64\bin\mintty.exe /bin/bash -login ./testtorun_ig1_1.sh', 0, 'async')