從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