簡體   English   中英

subprocess.call() 掛起。 “os.waitpid(self.pid,wait_flags)”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM