我正在尝试启动服务器并收到错误
Port 5432 is already in use
我有brew post postgress
which postgres
什么也没给我。
活动监视器有14个postgres进程,我无法杀死。
强制退出终止进程并使用另一个pid重新启动它。
同样的
sudo kill -9 PID
它会终止进程并使用另一个PID重新启动它。
答案 0 :(得分:2)
您检查过启动守护程序吗?当Postgres与Homebrew一起安装时,它控制Postgres进程,并在它被杀死后自动重启Postgres。尝试
sudo launchctl list
或
sudo launchctl list | fgrep postg
找到守护程序的名称。您可以使用sudo launchctl stop <name>
来停止守护程序,其中name
取决于第一个命令的结果。
答案 1 :(得分:1)
答案 2 :(得分:1)
$ brew services stop postgresql
这将终止所有进程,并让您启动服务器。
答案 3 :(得分:1)
您可以使用以下方法获取端口列表:
sudo launchctl list
然后输入应用程序名称,并使用此命令获取端口号:
sudo launchctl list | fgrep postg
在我的情况下,端口为83。现在使用:
kill 83
然后
sudo kill 5432
答案 4 :(得分:0)
如果您在OSX上遇到此问题,请执行以下操作:
找出该端口上正在运行的内容:
$ lsof -n -i4TCP:5432 命令PID用户FD类型设备大小/关闭节点名称 python2.7 28687 afdasdfasd 3u IPv4 0x2f18e1284963d3e3 0t0 TCP 127.0.0.1:54970->127.0.0.1:postgresql(CLOSE_WAIT)
杀了它
$ kill -9 28687
重新启动postgresapp