Workaround for external program crashing

I have a Matlab script that calls an external program someProgram as follows,
eval(['!someProgram.exe ' arg1 ' ' arg2])
where arg1 and arg2 are calculated by my Matlab script, and someProgram is within a try/catch loop in my Matlab script. Occasionally someProgram crashes and hangs and I have to manually close a Windows error window until my Matlab script resumes. I would like my Matlab script to move on to the next loop iteration instead. From Matlab, is it possible to kill the process if it takes more than a certain time? I suspect the solution lies outside Matlab, but any ideas would help.

1 comentario

KAE
KAE el 11 de Oct. de 2017
Editada: KAE el 11 de Oct. de 2017
I tried the approach here, which is to pause for the expected length of someProgram runtime, then kill someProgram. The down side is that each loop iteration now includes a pause command which adds time if someProgram executes without hanging.

Iniciar sesión para comentar.

 Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 11 de Oct. de 2017

0 votos

Can you try to use system()? It returns status that you might be able to use.

Más respuestas (0)

Categorías

Más información sobre Entering Commands en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

KAE
el 11 de Oct. de 2017

Editada:

KAE
el 11 de Oct. de 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by