Postgres.app端口正在使用中

时间:2017-02-23 13:02:34

标签: postgresql macos

我正在尝试启动服务器并收到错误

Port 5432 is already in use

我有brew post postgress

which postgres

什么也没给我。

活动监视器有14个postgres进程,我无法杀死。 强制退出终止进程并使用另一个pid重新启动它。 同样的     sudo kill -9 PID 它会终止进程并使用另一个PID重新启动它。

5 个答案:

答案 0 :(得分:2)

您检查过启动守护程序吗?当Postgres与Homebrew一起安装时,它控制Postgres进程,并在它被杀死后自动重启Postgres。尝试

sudo launchctl list

sudo launchctl list | fgrep postg

找到守护程序的名称。您可以使用sudo launchctl stop <name>来停止守护程序,其中name取决于第一个命令的结果。

答案 1 :(得分:1)

Askubuntu提供了一个对我有用的答案:

sudo pkill -u postgres

来源:Nicely stop all postgres processes

答案 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上遇到此问题,请执行以下操作:

  1. 找出该端口上正在运行的内容:

    $ 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)

  2. 杀了它

    $ kill -9 28687

  3. 重新启动postgresapp