How to continue the script while using the system()- command?
5 次查看(过去 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!