无法杀死Postgres进程

时间:2017-06-17 17:26:48

标签: macos postgresql

我一直试图杀死在端口5432上运行的PostgreSQL进程无济于事。每当我输入sudo lsof -i :5432时,我会看到类似下面的内容:

COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
postgres 587 postgres    4u  IPv6 0x218f97e9af5d0303      0t0  TCP *:postgresql (LISTEN)
postgres 587 postgres    5u  IPv4 0x218f97e9ae0f6c63      0t0  TCP *:postgresql (LISTEN)

然后我尝试使用sudo kill -9 587终止此示例中的进程587,但随后另一个进程会在同一端口上自动重新启动!我试过在活动监视器上杀死它也无济于事。请帮帮忙?

谢谢, 劳拉

5 个答案:

答案 0 :(得分:6)

我安装了9.5和9.6,所以

  

sudo su - postgres

     

/Library/PostgreSQL/9.6/bin/pg_ctl -D /Library/PostgreSQL/9.6/data stop

9.5开始......

  

/Library/PostgreSQL/9.5/bin/pg_ctl -D /Library/PostgreSQL/9.5/data stop

答案 1 :(得分:3)

如果您使用brew安装了postgres,则此命令可能就是您要查找的内容:

brew services stop postgres

答案 2 :(得分:1)

列出您的postgres pid:

pg_ctl status -D /usr/local/var/postgres
pg_ctl: server is running (PID: 715)

强行杀死它。

kill -9 715

答案 3 :(得分:0)

该过程正在重新启动,因为它是从launchd守护程序生成的。您可以尝试通过launchctl命令找到它并将其终止:

$ launchctl list

要杀死一个进程,你会:

$ launchctl kill

答案 4 :(得分:0)

我遇到了尝试停止postgres的问题。我无法使用pg_ctl stop。我使用brew安装了postgress。

我最终偶然发现this post为我解决了这个问题。