Mac OS X中解决socket.error: [Errno 48] Address already in use 端口占用问题 ##前言 在OS X中使用wallproxy等代理程序,可能会出现如题中的报错然后导致服务启动不成功,原因是曾今启动过相同的服务占用了相同的端口,解决办法一个是改掉默认的8087、8086端口,另一个,就是干掉占用端口的程序。 #lsof命令 ##简介 lsof(list open files)是一个列出当前系统打开文件的工具。在类UNIX环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。 lsof -i 用以显示符合条件的进程情况 所以,我们使用如下命令即可查找出占用了某个端口的程序和其对应的PID sudo lsof -i:8086 //因为有些时候是以root身份运行,所以请务必加上sudo 然后使用下面的命令干掉对应的进程: sudo kill *pid* //*pid*部分用对应进程的PID来填充 来源(http://www.logcg.com/archives/536.html)