杀死MailCatcher:东西正在使用端口1025

问题描述 投票:25回答:8

我正在尝试为rails应用程序运行“foreman start”但是这条错误消息阻止我正确运行领班:

~~>错误:有些东西正在使用端口1025.您是否已经在运行MailCatcher?

我试过杀死PID,进入Web界面退出程序,还...重新启动comp。有人知道如何解决这个问题吗?

谢谢

ruby-on-rails foreman mailcatcher
8个回答
42
投票

在OSX中,在shell中运行以下命令:

sudo lsof -nP -iTCP:1025 -sTCP:LISTEN

此命令的预期输出是一个进程,它正在侦听端口1025:

ruby    43841 youruserid    9u  IPv4 0x6a1610da80bb9b4f      0t0  TCP 127.0.0.1:1025 (LISTEN)

在上面的输出中,第二个值是进程ID。然后,杀死违规过程(替换正确的PID):

sudo kill 43841

12
投票

MailCatcher启动SMTP和HTTP服务器。

在终端中启动MailCatcher时,您将看到以下输出:

$ mailcatcher
Starting MailCatcher
==> smtp://127.0.0.1:1025
==> http://127.0.0.1:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.

启动MailCatcher时,请参阅输出中的最后一行?

如果您尝试启动MailCatcher,如果它已经在运行,您将看到:

$ mailcatcher
Starting MailCatcher
~~> ERROR: Something's using port 1025. Are you already running MailCatcher?

如何退出Mailcatcher:

  1. 在浏览器中打开http url(http://127.0.0.1:1080)。 注意:端口可能与1080不同。如果是这样,你将不得不使用该端口。如果你不知道它,你将不得不使用其中一个其他答案来杀死正在运行的进程。
  2. 在打开的页面的右上角,您将看到“退出”链接。

How to Quit MailCatcher


9
投票

如果您使用的是linux,那么您应该可以使用netstat命令查看正在使用某个端口的程序。要查看端口1025是否正在使用,请从命令行运行:

$ netstat -tulpn | grep :1025

这是一个有用的参考:http://www.cyberciti.biz/faq/what-process-has-open-linux-port/


2
投票

我通过在另一个端口上启动mailcatcher来解决这个问题:mailcatcher --smtp-port 1026

并在config/development.rb更改以下内容

config.action_mailer.smtp_settings = {
  ...
  port: 1026,
  ...
}

1
投票

要避免这种情况,请在容器中使用mailcatcher。您可以在码头中心找到一些,这里是my cut


0
投票

试试launchctl remove me.mailcatcher


0
投票

一个很好的建议。如果您已经以某种方式“postfix”配置或运行只是停止它以获取邮件“邮件捕手”

sudo systemctl stop postfix

0
投票

获取mailcatcher正在使用的端口的进程ID

lsof -i tcp:1080 
lsof -i tcp:1025

杀了我:

kill 37747 
kill 35647
© www.soinside.com 2019 - 2024. All rights reserved.