System and System.Dia​gnostics.P​rocess

17 ビュー (過去 30 日間)
Walter Mabry
Walter Mabry 2020 年 8 月 5 日
回答済み: Rahul J Hirur 2022 年 6 月 3 日
I have a program that runs in the console window on windows 10. The program puts out a continuos stream of data and i need to take the data and save it as a numeric matrix in MatLab. I could easily do this with the system() function however, I need to use the data in real time as the program in the console is still running and feeding me new data. So if you just simply use the system() funtion then matlab will never move past that line becasue the program never stops running in the command window. I have read about System.Diagnostics.Process() but I am not sure how to use it and matlab does not have documentation on what the methods actually do. Any help would be greatly apreciated.

採用された回答

Mario Malic
Mario Malic 2020 年 8 月 26 日
編集済み: Mario Malic 2020 年 8 月 26 日
Here's an example with simple app.
Process = System.Diagnostics.Process;
Process.Start('notepad.exe');
% You can check if process is still running
while(Process.HasExited == false)
% do something
end
If you are running an executable file with input arguments, see the answer here: https://www.mathworks.com/matlabcentral/answers/264364-executable-in-matlab-help#answer_206712
Alternative below
I am onto this question as well, you can run
system('file.exe %')
With ampersand, MATLAB won't wait for the exit of program.
while (% stop the key with press of a button or however you want to)
% your code
end

その他の回答 (1 件)

Rahul J Hirur
Rahul J Hirur 2022 年 6 月 3 日
Hello Walter,
@Walter Mabry , Were you able to print ouptput in the console/windows command prompt ?
If you were sucessful, Can you share the snippet of teh script ?

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by