Stopping external Fortran Routine

Hello,
is there a way to stop an external routine called from matlab ? E.g when the routine gets stuck or takes too long (bad starting values or other reasons).
Thanks
Moritz

Réponses (1)

Walter Roberson
Walter Roberson le 25 Mai 2013

0 votes

It depends on how the routine was started.
If it was started through a direct call to the program (that is, the program has a mex interface), then NO, there is no way for that MATLAB session to stop it... at least not without having launched a watchdog program before-hand.)
If it was started through a call to system() or unix() or dos() and the command line does not include the character "&" then NO, same as above.
If it was started through a call to system() or unix() or dos() and the command line contains the character "&" in the right location, then the Fortran routine would run independently of the MATLAB session. In such a case, the MATLAB program could monitor the progress and use system() to call kill() [Linux or OS-X] or taskkill (MS Windows) to shot it.

Cette question est clôturée.

Produits

Question posée :

le 25 Mai 2013

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by