socket.error: [Errno 48] アドレスは既に使用されています 質問する

socket.error: [Errno 48] アドレスは既に使用されています 質問する

Mac ターミナルから Python を使用してサーバーをセットアップしようとしています。

フォルダーの場所に移動して使用します:

python -m SimpleHTTPServer

しかし、これはエラーになります:

socket.error: [Errno 48] Address already in use

以前、同じコマンドを使用して、マシンの別の場所にある別の Web サイトに接続を開いたことがあります。

ベストアンサー1

すでにプロセスがデフォルト ポート (8000) にバインドされています。以前に同じモジュールを実行したことがある場合は、そのプロセスがまだポートにバインドされている可能性があります。まず、他のプロセスを探してみてください。

$ ps -fA | grep python
  501 81651 12648   0  9:53PM ttys000    0:00.16 python -m SimpleHTTPServer

コマンド引数が含まれているため、SimpleHTTPServer複数のプロセスがアクティブな場合に実行中のプロセスを見つけることができます。ローカル ファイルのディレクトリ リストがまだ表示されるpythonかどうかをテストすることもできます。http://localhost:8000/

2 番目の数字はプロセス番号です。シグナルを送信してサーバーを停止します。

kill 81651

これは標準的なシグナルを送信します。プロセスが応答しない場合は、代わりに(または) シグナルをSIGTERM送信するなど、より強力な方法に頼らなければならない場合があります。SIGKILLkill -s KILL <pid>kill -9 <pid>詳細はWikipediaをご覧ください

または、コマンドラインで代替ポートを指定して、サーバーを別のポートで実行します。

$ python -m SimpleHTTPServer 8910
Serving HTTP on 0.0.0.0 port 8910 ...

次に、 としてサーバーにアクセスしますhttp://localhost:8910。ポートがまだ使用されていない場合は、 は89101024 以上の任意の番号になります。

おすすめ記事