首页 > 解决方案 > 使用 os.system() 运行命令后 Python 脚本停止运行

问题描述

我的 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 软件包。不确定这是否是原因。

如果无法解决此问题,是否有替代 os.system() 的方法来运行命令以使 python 脚本不会冻结?

我在 anaconda 上使用 python 3.8。

标签: pythonpython-3.xos.system

解决方案


更改如下命令以查看命令是否有任何问题。

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

您可以验证 /tmp/test.log 以查看日志中的 java 命令是否有任何问题。os.system 等待响应。具有返回状态(0 - 如果成功)的 subprocess.call() 方法也可以实现相同的目的。要在后台运行命令,您可以使用 subprocess.Popen() 方法。


推荐阅读