[英]python how to force subprocess.call to not wait for the called command to complete
[英]subprocess.call - endless wait for command to complete
我想通過dxdiag
在Windows上獲取顯示卡信息,因此我使用了以下代碼:
import os, sys, subprocess
b = open(os.environ["TMP"] +"\\dx_info.bat", "w")
cmd = r'''@ECHO OFF
SETLOCAL
dxdiag /x dx_temp.xml
DEL "%~f0"'''
b.write(cmd)
b.close()
os.chdir(os.environ["TMP"])
subprocess.call([os.environ["TMP"] +"\\dx_info.bat"])
該腳本在%Temp%
創建一個bat文件,然后運行該文件並等待命令完成並創建dx_temp.xml
。 但是在某些PC中,運行dxdiag
,將出現一個提示對話框,停止命令繼續執行。 在這種情況下,將無休止地等待命令完成。 如何強制subprocess.call
跳過所有這些提示?
Windows 8上的Python 2.7.6
子進程只能啟動其他進程。 它不能告訴其他進程如何處理(除了允許您通過STDIN傳遞數據之外)。
dxdiag在子進程的控制范圍之外在內部生成那些對話框。
可靠地停止該對話框的唯一方法是找出彈出的對話框並找到特定於dxdiag的標志以禁用該對話框(如果存在)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.