當我嘗試Django的重新啓動其顯示消息:錯誤:該端口已被使用。
這個端口已經運行....
這個問題專門在ubunut 10.x中並不是所有的OS.how我可能會在當前系統上實現這一點,我正在努力? 你能建議我嗎?
當我嘗試Django的重新啓動其顯示消息:錯誤:該端口已被使用。
這個端口已經運行....
這個問題專門在ubunut 10.x中並不是所有的OS.how我可能會在當前系統上實現這一點,我正在努力? 你能建議我嗎?
更簡單的解決方案只需輸入sudo fuser -k 8000/tcp
。 這應該殺死端口相關聯的8000
編輯的所有進程:
的OSX用戶可以使用sudo lsof -t -i tcp:8000 | xargs kill -9
ps aux | grep -i manage
after that you will see all process
[email protected]:~/django-apps/projectname$ ps aux | grep -i manage
ubuntu 3439 0.0 2.3 40228 14064 pts/0 T 06:47 0:00 python manage.py runserver project name
ubuntu 3440 1.4 9.7 200996 59324 pts/0 Tl 06:47 2:52 /usr/bin/python manage.py runserver project name
ubuntu 4581 0.0 0.1 7988 892 pts/0 S+ 10:02 0:00 grep --color=auto -i manage
kill -9 process id
e.d kill -9 3440
`enter code here`after that :
python manage.py runserver project name
所以你嘗試重新啓動服務器,而一個已經在運行?這將不起作用,因爲第一個將使用HTTP端口。在嘗試再次運行之前(至少在同一個端口上運行它),您必須終止或終止第一個。 –
其工作正常,我已檢查它。 –
它正在工作,因爲你殺死了當前正在運行的實例,這就是我說的你必須做的事情。你不能讓兩個程序在同一個網絡端口上偵聽,就像那樣簡單。所以這是一個解決問題的辦法,這不是一個真正的問題,只是一個事實。 –
這是穆尼爾的答案擴展。我已經添加了一個bash腳本來覆蓋這個。只需運行./scripts/runserver.sh
而不是./manage.py runserver
,它將以完全相同的方式運行。
#!/bin/bash
pid=$(ps aux | grep "./manage.py runserver" | grep -v grep | head -1 | xargs | cut -f2 -d" ")
if [[ -n "$pid" ]]; then
kill $pid
fi
fuser -k 8000/tcp
./manage.py runserver
netstat -ntlp
它會顯示這樣的事情。
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 6599/python
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN -
tcp 0 0 192.168.124.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp6 0 0 :::3306 :::* LISTEN
所以現在只需關閉Django/python在其中運行的端口就可以通過殺死與之相關的進程。
kill -9 PID
在我的情況
kill -9 6599
現在運行你的Django應用程序。
最好的!容易記住 !!高效! –
感謝和繼續分享:) –
我們不使用此命令{sudo lsof -t -i tcp:8000 | xargs kill -9}因爲它關閉所有標籤...您應該使用到
ps -ef | grep python
kill -9 process_id
ps -ef | grep的蟒蛇(顯示與ID的所有進程)
殺-9 11633 (11633是一個進程ID: - /斌/ Python的manage.py runserver命令)
的ps aux | grep的管理
Ubuntu的3438 127.0.0 2.3 40256 14064點/; 0 T 06:47 0:00蟒蛇manage.py runserver命令
殺-9 3438
雖然這個代碼片斷可以解決的問題,[包括說明](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高您的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! – rene
太棒了!真的很簡單:)謝謝 –
在mac上,你需要使用'sudo lsof -i tcp:8000',然後殺掉出現的進程id。 – gordonc
未知的選項:克 – thatzprem