Effacer les filtres
Effacer les filtres

How to kill an executable ran by system command and close the cmd window

13 vues (au cours des 30 derniers jours)
yael alon
yael alon le 25 Avr 2021
Commenté : Nukul Shah le 2 Fév 2022
I'm running an executable in the following order, so i could close it after a certain time is passed:
system([exe_name ' &']);% Open executable
if time>time_th
system(['TASKKILL -f -im "' exe_name '"']); % Close executable
When i use the kill command, the executable stops running, but the cmd window stays open for unknowen reason.
I don't want to "kill" cmd windows because we may have another necessery cmd window open in the background.
How can I kill the executable while making sure that I'm closing also the cmd window?

Réponse acceptée

Jan
Jan le 25 Avr 2021
You could try to start the executable through Java instead of opening a CMD window:
runtime = java.lang.Runtime.getRuntime();
process = runtime.exec('exename'); % non-blocking
...
process.destroy();
% Might be useful:
% rc = process.waitFor(); % block Matlab until external program ends
% rc = process.exitValue(); % fetch an ended process' return code
  2 commentaires
yael alon
yael alon le 26 Avr 2021
Works great! thank you
Nukul Shah
Nukul Shah le 2 Fév 2022
How do we read the STDOUT in this case though?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB Compiler dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by