How to continue the script while using the system()- command?
16 ビュー (過去 30 日間)
古いコメントを表示
I am starting a python-script out of Matlab using the system()-command.
I would to check in a while loop if the script is still running and do something else while running. If it is not running anymore, I would like to break the while-loop and continue my Matlab script. However, it seems that the while loop starts when I already closed the python-script and not while the script is still running:
checkpython = 'pgrep python';
system('unset LD_LIBRARY_PATH;python3 MyPythonScript.py')
[status1,~] = system(checkpython);
while status1==0
[status,~] = system(checkpython);
%%% Doing something else here %%%
if status == 1
disp('Python closed')
break
end
end
How could I check while the python script is running if it is still running and do something else in that while-loop?
Thanks for your advice!
Best, Sophie
1 件のコメント
Riccardo Scorretti
2022 年 5 月 6 日
In order to continue the execution of MATLAB while running the pyhton script, you could add an ampersand (&) to the end of the command.
As for checking if your python script terminated the execution, I cannot figure out any elegant solution. The "quick and dirty" method could be to make your script open a dummy file at the beginning, and delete it when he finishes; so you can check if the script is still running by checking the existance of that particular file.
回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Call Python from MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!