python - 使用 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。
解决方案
更改如下命令以查看命令是否有任何问题。
command_line = 'java -jar "backup.jar" test > /tmp/test.log'
您可以验证 /tmp/test.log 以查看日志中的 java 命令是否有任何问题。os.system 等待响应。具有返回状态(0 - 如果成功)的 subprocess.call() 方法也可以实现相同的目的。要在后台运行命令,您可以使用 subprocess.Popen() 方法。
推荐阅读
- css - 带有锚链接的垂直居中 svg 图像
- google-cloud-platform - Identify which compute instance a static external IP address is associated with
- java - 一个实例的存储类
- unity3d - Unity 在新计算机上使用 DirectX 崩溃
- angular - How to get promise attribute?
- python - 如何正确地将通用正弦函数拟合到 python 中的正弦数据
- c# - bitwise combination as integer to enum
- pyqt5 - “sys.excepthook 中的错误”PyQt5.10.1Python 3.6
- android - 带有监听器的通用 DialogFragment
- c# - 并行运行带参数的方法