Stop system() command if it takes too long

5 次查看(过去 30 天)
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);

回答(1 个)

sourabh kondapaka
sourabh kondapaka 2020-3-17
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

类别

Help CenterFile Exchange 中查找有关 Code Execution 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by