Stop system() command if it takes too long

5 ビュー (過去 30 日間)
Paul Medl
Paul Medl 2019 年 8 月 23 日
回答済み: sourabh kondapaka 2020 年 3 月 17 日
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 Center および File ExchangeCode Execution についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by