一种方法是在执行长计算之前使MATLAB Engine会话可见.这样,如果要中断执行,只需将可见命令窗口置于焦点并按Ctrl-C即可.
这是我尝试使用MATLAB COM Automation的一个简单示例.该过程应该类似,因为MATLAB Engine是在Windows上使用COM实现的(管道在Unix上使用).
脚本在Powershell中完成:
# create MATLAB automation server
$m = New-Object -ComObject matlab.application
$m | Get-Member
# make the command window visible
$m.Visible = $true
# execute some long computation: pause(10)
$m.Feval('disp', 0,[ref]$null, 'Press Ctrl-C to interrupt...')
$m.Feval('pause', 0,[ref]$null, 10)
# close and cleanup
$m.Quit()
$m = $null
Remove-Variable m
在暂停期间,您可以通过在命令窗口中按Ctrl c来中断它: