我試圖用Windows 2012服務器上的gpg可執行文件解密文件。目前腳本訪問'try'塊,但是無限期地停留在那裏。該文件的大小約爲500MB,因此任何需要解密的文件都需要< 10分鐘。我讓它跑的最長的時間是一個小時。這裏是代碼爲:卡在一個python子進程調用
# decrypt the pgp file
comm = (gpg + ' --batch --passphrase passphrase --homedir='+current_path
+' -o ' + zip_name +' --decrypt ' + file_name)
try:
subp = subprocess.check_call(comm, stdout=PIPE, stdin=PIPE, stderr=STDOUT)
stdout_data, stderr_data = subp.communicate()
print stdout_data, stderr_data
except subprocess.CalledProcessError as e:
print e.output
logger.update('Error', process, runtime=0, error=e)
raise Exception('Error Decrypting File')
不包括,但密鑰已被導入。
是否有任何我可以添加/刪除或做不同的事情1)更好地瞭解主機系統(Windows服務器)內的情況2)不能無限期地運行並報告有用的信息它無限期地運行。
讓我知道是否需要澄清。
也許不相關,爲什麼你有'stdin = PIPE'? gpg可能正在等待某些東西被餵食,然後阻止。 – user2722968
另外你不應該把你的整個命令行放在一個字符串中,使用程序名和個別參數。否則,你會在gpg端運行參數解析問題。 – user2722968