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
送信するなど、より強力な方法に頼らなければならない場合があります。SIGKILL
kill -s KILL <pid>
kill -9 <pid>
詳細はWikipediaをご覧ください。
または、コマンドラインで代替ポートを指定して、サーバーを別のポートで実行します。
$ python -m SimpleHTTPServer 8910
Serving HTTP on 0.0.0.0 port 8910 ...
次に、 としてサーバーにアクセスしますhttp://localhost:8910
。ポートがまだ使用されていない場合は、 は8910
1024 以上の任意の番号になります。