2014-12-02 80 views
0

我有一個簡單的腳本來查看我正在處理的網頁。Python SimpleHTTPServer服務錯誤index.html?

import SimpleHTTPServer 
import SocketServer 
PORT = 8000 
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler 
httpd = SocketServer.TCPServer(("", PORT), Handler) 
print "serving at port", PORT 
httpd.serve_forever() 

我已經將這個腳本複製到了幾個目錄中,並且我正在處理不同的index.html頁面。我殺死了服務器index_A(在它自己的目錄Development/A中)。但是,當我嘗試在Development/B中運行腳本(應該爲index_B服務)時,它仍然在服務於index_A。

編輯:當我改變我使用的端口時,它提供了正確的索引。仍然不確定爲什麼舊的索引顯示在舊的端口,即使我殺了這個過程。

+0

你真的在殺死原來的('A')服務器進程嗎?你確定在運行'B'服務器之前切換過目錄嗎?你有沒有確認 - 我的意思是用新鮮的眼睛來確保 - 內容是你認爲的內容?對不起,生硬,但飛行員的錯誤是最有可能的解釋。 – 2014-12-02 22:06:44

+0

我在這裏使用filip的解決方案:http://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000-on-mac殺死進程,這是不夠的?我很確定在不同的目錄下運行它。 – Andrew 2014-12-02 22:09:20

+0

這裏有很多解決方案,但我認爲你的意思是'kill -9 \'lsof -i:8000 | egrep -v PID | awk'{print $ 2}'\'',這應該是可靠的。 – 2014-12-02 22:16:21

回答

0

我只是有同樣的問題,這是非常令人困擾和固執。嘗試所有的建議在這裏也here與命令freeport,netstat,ps,lsofkill。幾個小時後,發現它是更基本的東西。即使在幾次重新啓動之後,同樣的index.html仍然在0.0.0.0:8000服務。但嘗試過其他瀏覽器,它只發生在Chrome中!所以清除了緩存並且它消失了。