python - socket.error : [Errno 48] Address already

我正在尝试从 mac 终端使用 python 设置服务器。

我导航到文件夹位置并使用:

python -m SimpleHTTPServer

但这给了我错误:

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

我之前使用相同的命令打开了一个连接 用于我机器中不同位置的不同网站。

最佳答案

您已经有一个绑定(bind)到默认端口 (8000) 的进程。如果您之前已经运行过相同的模块,则该进程很可能仍绑定(bind)到该端口。先尝试定位其他进程:

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

包含命令参数,因此您可以发现正在运行的 SimpleHTTPServer如果不止一个 python进程处于事件状态。您可能想测试 http://localhost:8000/仍然显示本地文件的目录列表。

第二个数字是进程号;通过发送信号停止服务器:

kill 81651

这会发送一个标准 SIGTERM信号;如果该过程没有响应,您可能不得不求助于更严格的方法,例如发送 SIGKILL ( kill -s KILL <pid>kill -9 <pid> )信号代替。见 Wikipedia for more details .

或者,通过在命令行上指定备用端口,在不同的端口上运行服务器:

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

然后以 http://localhost:8910 身份访问服务器;在哪里 8910可以是 1024 及以上的任何数字,前提是该端口尚未被占用。

关于python - socket.error : [Errno 48] Address already in use,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19071512/

相关文章:

python - _csv.Error : field larger than field limi

python - 将带参数的函数传递给Python中的另一个函数?

linux - 在fish shell中定义别名

awk - 在 awk 中使用多个分隔符

python - 在 Python 中将字符串日期转换为时间戳

linux - 如何对目录中的所有文件执行grep操作?

linux - Windows 容器可以托管在 Linux 上吗?

python - 在 Windows 上设置 Python simpleHTTPserver

python - 将 UTC 日期时间字符串转换为本地日期时间

linux - crontab 星期几语法