簡體   English   中英

Python 腳本在使用 os.system() 運行命令后停止運行

[英]Python script stops running after running command using os.system()

我的 python 腳本在運行os.system()后凍結。 代碼如下所示;

command_line = 'java -jar "backup.jar" test'
os.system(command_line)
# python script freezes at this point. Cannot move on to execute code below

不知為何,今天突然遇到這個問題。 過去沒有問題。 沒有錯誤信息。 沒有提示有什么問題。 我更新了最新的 Windows 10 package。 不確定這是否是原因。

如果無法解決此問題,是否有替代 os.system() 來運行命令以使 python 腳本不會凍結的命令?

我在 anaconda 上使用 python 3.8。

更改如下命令以查看命令是否有任何問題。

command_line = 'java -jar "backup.jar" test > /tmp/test.log'

您可以驗證 /tmp/test.log 以查看日志中的 java 命令是否有任何問題。 os.system 等待響應。 具有返回狀態(0 - 如果成功)的 subprocess.call() 方法也可以實現相同的目的。 要在后台運行命令,您可以使用 subprocess.Popen() 方法。

我會回答我自己的問題。 它基於我標記為正確答案的 rajendrau 的答案。 這個對我有用。

我所做的是使用subprocess.Popen() 腳本不再“凍結”。

subprocess.Popen(['java', '-jar', "backup.jar", 'test'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM