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 Loops and Conditional Statements 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