Stop system() command if it takes too long

Under Windows: Close .exe opened by system() if it takes too long to end/execute/self close.
Best with time period, that is only exhausted if .exe needs that long. Program should proceed if .exe closes before end of time period.
Didn't work:
t=timer;
t.TimerFcn=system('C:\Esotec\DFDC_070es33_win32\bin\dfdc.exe < DFDC_script.txt');
t.StopFcn=system('kill ');
t.Period =2;
t.TasksToExecute=1;
t.ExecutionMode='fixedRate';
start(t);

Answers (1)

TimerFcn, startFcn and StopFcn arguments of the timer class expect Character vector, string scalar, function handle, or cell array defining the timer callback function. You must define this property before you can start the timer.
As you are trying to execute the “system” command.
t = timer;
t.TimerFcn = @(~,~)system('C:\Esotec\DFDC_070es33_win32\bin\dfdc.exe < DFDC_script.txt');
t.StopFcn = @(~,~)system('kill ');
t.Period =2;
t.TasksToExecute=1;
t.ExecutionMode='fixedRate';
start(t);
For further reference on timer object: Timer Object
For more information on how to call custom callback function’s : Timer Callback Functions

Categories

Find more on App Building in Help Center and File Exchange

Products

Tags

Asked:

on 23 Aug 2019

Answered:

on 17 Mar 2020

Community Treasure Hunt

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

Start Hunting!