我一直试图杀死在端口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,但随后另一个进程会在同一端口上自动重新启动!我试过在活动监视器上杀死它也无济于事。请帮帮忙?
谢谢, 劳拉
答案 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为我解决了这个问题。