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

7 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Jan
Jan il 25 Apr 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

Più risposte (0)

Categorie

Scopri di più su Communications Toolbox in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by