2013-11-27 15 views
110

私はその示すメッセージ再起動してみてくださいジャンゴ:エラー:そのポートはすでに使用中です。

このポートがすでに実行されているが....

ないすべての私は、現在のシステムでこれを実現するかもしれないOS.how特別ubunutの10.xの上でこの問題はその私は取り組んでいますか? 私にお勧めできますか?

答えて

286

より簡単な解決策は、sudo fuser -k 8000/tcpと入力するだけです。

OSXのユーザーのために、あなたがこれはムニールの答えに拡張したものですsudo lsof -t -i tcp:8000 | xargs kill -9

+2

素晴らしい!!!!本当にとてもシンプルです:)ありがとう –

+11

Macでは 'sudo lsof -i tcp:8000'を使い、次に表示されるプロセスIDをkillする必要があります。 – gordonc

+2

不明なオプション:k – thatzprem

8
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 
+0

だからあなたがいる間、サーバーを再起動しよう1つはすでに実行されていますか?最初のものがHTTPポートを使用するので、これは機能しません。最初のものをkillまたは終了してから、再度実行してください(少なくとも同じポート上で実行してください)。 –

+0

私はそれをチェックしています。 –

+0

現在実行中のインスタンスを強制終了したため、動作しています。これは、実行しなければならないことです。同じネットワークポートで2つのプログラムを聴くことはできませんが、それは簡単です。だから、これは本当に問題ではない、ただの事実に対する解決策です。 –

2

使用することができます。 これは8000

EDITポートに関連付けられているすべてのプロセスを殺す必要があります。これをカバーするbashスクリプトを追加しました。 ./manage.py runserverの代わりに./scripts/runserver.shを実行すると、まったく同じように動作します。

#!/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 
17
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 6599 

kill -9 PID 

今すぐあなたのDjangoアプリケーションを実行します。

+0

ベスト!覚えやすい!効率的!! –

+1

お寄せいただきありがとうございます。 –

1

このコマンドは使用しません。{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がにある: -/binに/ Pythonのmanage.pyのrunserver)

0

のps補助| grepの管理Ubuntuの3438

127.0.0 2.3 40256 14064 PTS/0 T 6時47分0時のpython manage.pyののrunserver

殺す-9 3438

+0

このコードスニペットは問題を解決する可能性がありますが、[説明を含む](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)あなたの投稿の質。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! – rene

関連する問題