Killing a (mex) Function When It Doesn't Respond to Ctrl-C or Ctrl-Break Under WIN64
    10 views (last 30 days)
  
       Show older comments
    
Is there a way to kill a (mex) function running in MATLAB and which doesn't respond to Ctrl-C or CTrl-Break, other than by killing the whole MATLAB process (session)? To be concrete, assume R2014A WIN 64.
Thanks.
0 Comments
Accepted Answer
  Jan
      
      
 on 1 Jun 2015
        
      Edited: James Tursa
      
      
 on 6 Oct 2017
  
      No, you have to kill the Matlab process.
0 Comments
More Answers (2)
  Peter Lawrence
      
 on 6 Oct 2017
        
      Edited: Walter Roberson
      
      
 on 6 Oct 2017
  
      Yes, it's part of the "undocumented" matlab stuff, but at least it works, and works well.
and/or
  Victor
 on 16 Jun 2016
        Who accepted that unacceptable answer!?
No but seriously this is sooooooooooooooooooooooooooooooooooooooooo annoying!
4 Comments
  James Tursa
      
      
 on 8 Feb 2019
				
      Edited: James Tursa
      
      
 on 8 Feb 2019
  
			Huh? OP asked about a mex function that specifically does NOT respond to Ctrl-C or the like. He makes that very clear in his response to Peter that he is interested in interrupting compiled mex routines that have no special coding to respond to Ctrl-C. Jan's answer is correct for the question asked.
Peter's response is definitely valuable and related to the question, but it requires recoding and recompiling the mex routine, something the OP specifically points out was not the intent of his original question.  Plus, it is not clear to me what would happen in that 2nd link if the MATLAB Memory Manager was interrupted in the middle of something when its Worker Thread got terminated.  I haven't inestigated this, but I can easily envision a crash scenario.
Both responses deservedly got reputation points. I don't think there is anything to complain about here ...
  Pavel Holoborodko
      
 on 23 Jan 2020
				@"Plus, it is not clear to me what would happen in that 2nd link if the MATLAB Memory Manager was interrupted in the middle of something when its Worker Thread got terminated."
Suggestions to the situation are provided in the post. In short, WorkerThread must be used for computations, not for memory allocations (especially not by MATLAB Memory Manager functions). It is really bad idea to mix allocations & computations in (any) numerical code anyway.
See Also
Categories
				Find more on Matrix Indexing in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!






