2012-09-03 85 views
0

情況是這樣的:我想從Python代碼打開一個瀏覽器窗口,在以下任一(便攜性不是問題ATM):如何查看主流網頁瀏覽器的退出情況?

subprocess.call(['xdg-open', 'file:///someFileIGenerated.html']) 
... # or 
pid = subprocess.Popen(...) 
... # or (from the webbrowser package) 
webbrowser.open(...) 

我遺憾的是不只是檢查是否PID我創建的還是活着的,因爲大多數瀏覽器(Firefox,Chrome)都會立即退出創建過程並按需要產生更多(即每個標籤一個)。

什麼是最負責任的(不殺死其他瀏覽器窗口)和可移植的(至少在Linux下使用firefox和chrome)達到這個目的?

編輯:在這種情況下可以使用ppids嗎?

回答

0

你可以「ping」firefox進程。有一部分我的open_url shell腳本下面我希望你覺得它有用

OUTPUT=`firefox -remote "ping()" 2>&1 | grep No` 
if [[ "${OUTPUT}" == "Error: No running window found" ]]; then 
    # firefox is not running 
else 
    # firefox still running; 
fi 
+0

這將檢查任何Firefox窗口,對不對?因此,如果用戶在我的代碼生成新窗口之前打開Firefox,我無法檢測他是否僅關閉了我的窗口。我明白你的意思,但是這需要我在創建我的窗口之前和之後運行pids之間的設置差異。不是很舒服或安全。 – ThePadawan

相關問題