MATLAB Answers


how to kill an orphaned matlab.exe process?

Asked by Mike
on 12 Apr 2012

Hi, (this is all under windows 7, matlab 2011b and guide) I'm working with matlab gui-s and I get the evil java heap error. I have increased the java heap memory.

If I get this error, matlab crashes and leaves an orphaned matlab.exe process running. I cannot kill the process with task manager or taskkill, only rebooting windows. Does anyone know how to kill this zombie? If I just restart matlab I end up with 2 processes.

What happenes before the red scrolling error text often enough is the system/matlab starts slowing down, I realize I am going to get the evil red java heap error. I try to save what I'm doing and some times it does, others it doesn't, or it saves half, screwing up the works and crashing. Then, using task manager, I find that matlab.exe is still a process running. I cannot use taskmanager to kill the process. If I start matlab again, I have 2 of these running. When I go to a windows 7 command prompt as admin, I try taskkill /f /im matlab.exe the result is it finds a PID number, but it says the process does not exist. The only way I've found to kill the process is to reboot windows.... If I don't, I get 2 matlab.exe and since I'm using the COM/USB port stays locked and cannot be acessed... Hence, reboot.. ugh...


Does anyone know how to kill the orphaned matlab.exe process other than rebooting windows?


Jan Simon
on 19 Apr 2012

I have deleted my answer about killing the process in the taskmanager, because it was accepted by accident. Looking like a solved problem reduces the interest of other readers.

on 20 Apr 2012

Interesting... I've seen similar behaviour in Windows 7 before, when I was developing an in-house application in C++, which spat its debug output via the ConsoleWindow. If my process crashed, it would zombie but only if the ConsoleWindow was open at the time. I never figured out how to kill that process. I was quite impressed with Win7 up until that point, then I started missing XP-64.


No products are associated with this question.

2 Answers

Answer by Jason Ross
on 12 Apr 2012

When I've found that the normal utilities don't work, I reach for the PStools.

Try using "pskill"


on 18 Apr 2012

I have tried this now and it was not effective. I also tried it on a national instruments hung process and it didn't work either.. Thanks for the idea!

Jason Ross
on 18 Apr 2012

No problem. There is another utility in there called Process Explorer that lays out the relationships between the various things that are running. You might be able to kill a sub-process and then work your way up the tree.

Answer by Jan Simon
on 20 Apr 2012

Have you read already? They suggest:

  1. Install resource kit.
  2. tlist -t
  3. kill name or id
  4. If this does not work: kill -F name or id
  5. If this does not work perform this through the AT command to get the system privilegs:
   AT <time> /INTERACTIVE CMD /C KILL -F <process name or id>
  1. If you still have no success, change the thread's privilegs by PVIEW.

  1 Comment

Jan Simon
on 20 Apr 2012

Of course the last point is "6." and not "1.". The formatting power is suboptimal.

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!