[英]subprocess.call() Hangs. “os.waitpid(self.pid, wait_flags)”
我有一個奇怪的問題,我以前沒有遇到過。 我有一個腳本可以在給定時間段內提供 PDF 報告。 到目前為止,這一切都很好,但我已經進行了一些更新並將這些更改拉到服務器上。 現在我的進程掛在 subprocess.call() 上,我不知道為什么。
我已經讀過這在使用 PIPE 時可能是一個問題,但我不是。 我什至不確定如何調試這個問題。 有任何想法嗎?
subprocess.call(
['{}/orca.sh'.format(orca_dir),
'graph',
json.dumps(chart, cls=plotly.utils.PlotlyJSONEncoder),
'--width',
'1200',
'--scale',
'4',
'-o',
'/temp/{}'.format("a" + (count * "a"))]
)
File "/root/**", line 97, in **
'/temp/{}'.format("a" + (count * "a"))])
File "/root/anaconda3/envs/**/lib/python3.7/subprocess.py", line 325, in call
return p.wait(timeout=timeout)
File "/root/anaconda3/envs/**/lib/python3.7/subprocess.py", line 990, in wait
return self._wait(timeout=timeout)
File "/root/anaconda3/envs/**/lib/python3.7/subprocess.py", line 1624, in _wait
(pid, sts) = self._try_wait(0)
File "/root/anaconda3/envs/**/lib/python3.7/subprocess.py", line 1582, in _try_wait
(pid, sts) = os.waitpid(self.pid, wait_flags)
orca.sh 執行 Orca 的 AppImage 容器以使用給定參數執行其獨立軟件。 還值得注意的是,我在兩台服務器上運行此腳本,但第二台是預更新的,仍然可以正常工作。 我所做的任何更改都沒有改變這個調用的方式或它應該如何工作。 會不會是 AppImage 容器中的某些東西導致我掛起?
確定了問題。
我的腳本編譯了 Plotly 對象列表以生成這些圖表,但未能正確生成第一個 plotly object。 所以第一個 object 是 NoneType,但是 subprocess.call() 是用列表的每個成員調用的。 不幸的是,由於 AppImage 沒有收到圖表數據,它似乎只是無限期地掛起。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.