私はパイロンを実行しています、そして私はこれをしました:パスターサーバーdevelopment.iniそれは:5000で実行されています
しかし、コマンドをもう一度実行しようとすると、pasterservedevelopment.iniが表示されます。
次のメッセージが表示されます:socket.error:[Errno98]アドレスはすでに使用されています
何か案は?
フォーラムでこのトリックを見つけました:
これにより、ポート 5000 をリッスンするすべてのプログラムが強制終了されます
kill -9 `fuser -n tcp 5000`
通常、これはまだ実行中であることを意味しますが、デーモンモードの場合にのみ発生するはずです。起動後、コマンドプロンプトが表示されますか、それともCtrl-Cで停止する必要がありますか?
コマンドプロンプトが表示されたら、それはデーモンモードであり、次のコマンドで停止する必要があります。
paster server development.ini stop
Ctrl-C(もちろんCtrl-Zではなく)で停止した場合、私にはわかりません。
あなたの質問を理解しているので、ポート5000でリッスンするアプリケーションを起動します。次に、それを停止せずに(?)、同じポートでリッスンする別のインスタンスを起動しようとしますか?もしそうなら、あなたは成功しません。
を使用すると、どのアプリケーションがどのポート番号でリッスンしているかをいつでも確認できますnetstat
(WindowsとUNIXライクなシステムの両方で、他の人との経験はありません)。
これは、サーバーが予期せず停止し、ソケットを適切に閉じなかったときにも発生しました。基本的に、プロセスが終了しても、ソケットはオペレーティング システムで開いていると表示されます。30 ~ 60 秒待つと、OS は関連するプロセスが終了したことを認識し、ソケットを自動的にクリーンアップすることがわかりました。
デフォルトのポート8080が使用しています。ポート10000を取得するには、コマンドの後に「-p10000」を追加する必要があります
私はここに存在するすべての支持された答えを試しましたが、誰も私のために働いていません。しかし、この以下のコマンドはうまくいきます。
sudo kill $(sudo lsof -t -i:5000)
これにより、ポートをリッスンするプロセスが強制終了されます5000
。