从Matlab GUI应用程序中,我启动了一个外部程序(Windows上的控制台应用程序),负责从测量系统读取数据。只要外部程序完成,数据就会存储在由Matlab应用程序处理的多个文件中。问题是这样的:从Matlab GUI内发送SIGINT
当在命令行上运行外部程序时,可以通过发出SIGINT(即按Ctrl + C)来正常停止。信号处理程序捕获SIGINT并关闭程序。有没有一种方法可以在Matlab GIU应用程序中通过按下“中止”按钮来完成此操作?
经过许多小时的搜索,我偶然发现了http://www.caam.rice.edu/~wy1/links/mex_ctrl_c_trick/,它显示了如何检测MEX文件中的SIGINT。让MEX打电话给外部程序可能会起作用(尽管我还不确定细节)。但是,它仍然需要Ctrl + C来停止程序。我如何通过GUI中的按钮发送SIGINT信号?
你见过http://stackoverflow.com/questions/813086/can-i-send-a-ctrl-c-sigint-to-an-application-on-windows?你确实说过你在Windows下,对吗? –
[Matlab:实现CTRL + C做什么,但在代码中]的可能重复(http://stackoverflow.com/questions/10033078/matlab-implementing-what-ctrlc-does-but-in-the-code) – Jonas