杀死MailCatcher:使用端口1025的东西

时间:2014-07-18 17:19:16

标签: ruby-on-rails foreman mailcatcher

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

  

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

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

由于

9 个答案:

答案 0 :(得分:41)

在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

答案 1 :(得分: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网址(http://127.0.0.1:1080)。

    注意:该端口可能与1080不同。如果是这样,你将不得不使用该端口。如果你不知道,你将不得不使用其中一个其他答案来终止正在运行的过程。

  2. 在打开页面的右上角,您会看到“退出”链接。
  3. How to Quit MailCatcher

答案 2 :(得分:9)

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

$ netstat -tulpn | grep :1025

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

答案 3 :(得分:2)

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

并在config/development.rb

中更改以下内容
config.action_mailer.smtp_settings = {
  ...
  port: 1026,
  ...
}

答案 4 :(得分:0)

要避免这种情况,请在容器中使用mailcatcher。你可以在docker hub找到很少的东西,这里是my cut

答案 5 :(得分:0)

尝试launchctl remove me.mailcatcher

答案 6 :(得分:0)

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

sudo systemctl stop postfix

答案 7 :(得分:0)

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

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

杀死他们:

kill 37747 
kill 35647

答案 8 :(得分:0)

把它放在这里以防对其他人有帮助。

我错误地访问了 http://localhost:1025/,而我需要在 http://localhost:1080/

转到 http://localhost:1080/ 并希望 mailcatcher 按预期运行