2012-08-14 74 views
0

我在shell腳本中運行Imagemagick的轉換函數,通過apache/python腳本調用。它通常工作正常,但時不時的服務器的CPU最大並且不會回落。以下是打印出的'top':imagemagick轉換CPU錯誤

PID USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND   
9672 apache 20 0 357m 1452 640 R 52.9 0.1 223:44.88 convert    
9457 apache 20 0 294m 161m 648 R 47.1 9.8 222:50.15 convert 

我能做些什麼1.防範這個2.殺死進程?如果我不手動殺死進程,它們會無限期地空閒,導致服務器停止運行。

+0

你可能擊中了[這個bug](http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=14307)。 – nwellnhof 2013-03-26 19:59:00

回答

0

你有幾個選擇,但正確的答案取決於你的具體情況。

您可以使用Python中的某個子進程命令,然後終止耗時過長的作業。如果你只是發出一個簡單的shell命令,你可能想看看「超時」實用程序是否可用於你的操作系統和發行版。

除此之外,您可能需要考慮將圖像處理與Web服務基礎結構解耦。

最後,發佈你正在調用「convert」的選項可能是一個好主意。可能有一些人足夠了解這個工具的使用方法,指出明顯的問題。