Django 運行 runserver 端口占用,報錯:Errno 10013

來源:http://www.markjour.com/article/django-runserver-error.html html

運行 django runserver 的時候,出現 Error 10013,即 8000 端口被佔用。 mysql

使用 apache wsgi 也是說端口占用。 sql

不想換端口,有一段快捷方式在瀏覽器上呢,因此須要找出那個佔用端口的進程,而後卸掉。 apache

一、查看全部的端口占用狀況

C:\Users\Administrator\>netstat -ano

活動鏈接

  協議  本地地址          外部地址        狀態           PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       764
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:1718           0.0.0.0:0              LISTENING       392
  TCP    0.0.0.0:2425           0.0.0.0:0              LISTENING       248
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       9416
  TCP    0.0.0.0:3690           0.0.0.0:0              LISTENING       2620
  TCP    0.0.0.0:8000           0.0.0.0:0              LISTENING       3108
  TCP    0.0.0.0:11211          0.0.0.0:0              LISTENING       1708
  TCP    0.0.0.0:15576          0.0.0.0:0              LISTENING       392
  TCP    0.0.0.0:30985          0.0.0.0:0              LISTENING       248
  TCP    0.0.0.0:49152          0.0.0.0:0              LISTENING       456
  TCP    0.0.0.0:49153          0.0.0.0:0              LISTENING       828
  TCP    0.0.0.0:49154          0.0.0.0:0              LISTENING       964
  TCP    0.0.0.0:49157          0.0.0.0:0              LISTENING       568
  TCP    0.0.0.0:49173          0.0.0.0:0              LISTENING       556
  TCP    127.0.0.1:49155        127.0.0.1:49156        ESTABLISHED     1708
  TCP    127.0.0.1:49156        127.0.0.1:49155        ESTABLISHED     1708
  TCP    192.168.25.99:139      0.0.0.0:0              LISTENING       4
  TCP    192.168.25.99:49539    218.30.118.68:80       ESTABLISHED     2024
  TCP    192.168.25.99:49567    116.255.135.90:80      CLOSE_WAIT      248
  TCP    192.168.25.99:49748    114.112.66.186:80      ESTABLISHED     2520
  TCP    192.168.25.99:50320    74.125.31.125:5222     ESTABLISHED     2900
  TCP    192.168.25.99:50841    123.58.182.253:80      ESTABLISHED     3880
  TCP    192.168.25.99:50945    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    192.168.25.99:50946    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    192.168.25.99:50954    114.112.66.109:80      ESTABLISHED     392
  TCP    192.168.25.99:50955    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    192.168.25.99:50956    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    192.168.25.99:50957    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    192.168.25.99:50958    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    192.168.25.99:50959    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    192.168.25.99:50960    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    192.168.25.99:50961    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    192.168.25.99:50962    123.58.182.251:443     CLOSE_WAIT      3880
  TCP    [::]:135               [::]:0                 LISTENING       764
  TCP    [::]:445               [::]:0                 LISTENING       4
  TCP    [::]:3306              [::]:0                 LISTENING       9416
  TCP    [::]:11211             [::]:0                 LISTENING       1708
  TCP    [::]:49152             [::]:0                 LISTENING       456
  TCP    [::]:49153             [::]:0                 LISTENING       828
  TCP    [::]:49154             [::]:0                 LISTENING       964
  TCP    [::]:49157             [::]:0                 LISTENING       568
  TCP    [::]:49173             [::]:0                 LISTENING       556
  UDP    0.0.0.0:500            *:*                                    964
  UDP    0.0.0.0:1900           *:*                                    392
  UDP    0.0.0.0:2425           *:*                                    248
  UDP    0.0.0.0:3600           *:*                                    2024
  UDP    0.0.0.0:4500           *:*                                    964
  UDP    0.0.0.0:5355           *:*                                    1236
  UDP    0.0.0.0:6235           *:*                                    392
  UDP    0.0.0.0:6445           *:*                                    392
  UDP    0.0.0.0:7908           *:*                                    392
  UDP    0.0.0.0:11211          *:*                                    1708
  UDP    0.0.0.0:11509          *:*                                    392
  UDP    0.0.0.0:58131          *:*                                    2024
  UDP    0.0.0.0:58173          *:*                                    2900
  UDP    127.0.0.1:59144        *:*                                    2024
  UDP    192.168.25.99:137      *:*                                    4
  UDP    192.168.25.99:138      *:*                                    4
  UDP    [::]:500               *:*                                    964
  UDP    [::]:4500              *:*                                    964
  UDP    [::]:5355              *:*                                    1236
  UDP    [fe80::30df:1257:5ad3:e070%11]:546  *:*                                    828

可貴找,直接查看指定端口的佔用狀況 django

C:\Users\Administrator\>netstat -aon|findstr "8000"
  TCP    0.0.0.0:8000           0.0.0.0:0              LISTENING       3108

也就是說這個該死的 3108 佔用了個人 8000 端口。 windows

二、查看 PID 等於 3108 的進程

C:\Users\Administrator\>tasklist|findstr "3108"

說明:不是我寫漏了,結果是空,就是空,也就是說沒有找到這個進程。 瀏覽器

我也去任務瀏覽器中查看了進程表,沒有發現 PID 等於 3108 的(若是任務管理器中沒有 PID 這一項,能夠在任務管理器中選」查看」-「選擇列」)。 spa

三、無論了,直接結束 3108 進程

C:\Users\Administrator\>taskkill /pid 3108
錯誤:沒有找到進程 "3108"。

悲劇了,個人 8000 端口殭屍了!
見鬼了,我發現直接訪問 8000 端口能打開 django 網頁,試着重啓一下,真的好了,緣由不明。 code

PS:爲了驗證方法沒有錯誤,我關閉佔用 3306 端口的進程(也就是 mysql 啦)試了一下。 server

C:\Users\Administrator\>netstat -aon|findstr "3306"
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       9416
  TCP    [::]:3306              [::]:0                 LISTENING       9416

C:\Users\Administrator\>tasklist|findstr "9416"
mysqld.exe                    9416 Services                   0     10,536 K

C:\Users\Administrator\>taskkill /f /t /pid 9416
成功:已終止 PID 爲 9416 的進程。

也能夠根據進程名稱關閉進程:

C:\Users\Administrator\>taskkill /f /t /im mysqld.exe

PS:還有一次運行 runserver 的時候忽然爆出一個 10013 錯誤,網上的說法是 8000 端口被酷狗佔用了(確實在聽歌),只好改用 8080 端口。

沒有驗證是否真的是酷狗所致。

參考

  1. 運行django出現 Error: [Errno 10013]的錯誤 http://2015.iteye.com/blog/1786686
  2. windows 如何查看端口占用狀況? http://www.iteye.com/topic/1117270
相關文章
相關標籤/搜索