我使用mod_wsgi的Apache2的適配器Django的網站,我喜歡叫一個視圖中的一些慶典過程中,採用通常的如何從django/wsgi中調用bash進程?
...
p = subprocess.Popen("/home/example.com/restart-tomcat.sh", shell=True)
sts = os.waitpid(p.pid, 0)[1]
...
此代碼工作完全從一個普通的Python外殼內,但什麼都不做(我現在可以跟蹤)在Django中調用時。我是否缺少一些wsgi約束?該腳本有755燙髮,所以它應該是可執行的。
快速測試
p = subprocess.Popen("date >> home/example.com/wsgi-test.txt", shell=True)
sts = os.waitpid(p.pid, 0)[1]
表明,它甚至不執行普通的命令。我目前沒有任何意見,並且非常感謝任何意見。
謝謝。
謝謝,做了一個測試;它似乎沒有執行任何操作,它甚至不會引發任何OSError .. Tomcat運行在非挑釁的端口上,所以這應該不是問題 – chang 2010-04-09 15:25:54
我幾乎想問你是否可以像打開常規文件在該路徑使用python文件io,'h = open('/ home/example.com/test.txt','a'); h.write( '線\ n'); h.close();'。真的很奇怪,如果所有的權限都是正確的。它應該工作。 – synic 2010-04-09 15:31:36
謝謝您的評論。我正在檢查所有權限的過程中,尤其是那些需要一個適當的tomcat重新啓動.. – chang 2010-04-09 15:49:40