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

CJ *_* -S 27 ruby-on-rails foreman mailcatcher

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

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

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

谢谢

Jos*_*mbs 43

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

sudo lsof -nP -iTCP:1025 -sTCP:LISTEN
Run Code Online (Sandbox Code Playgroud)

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

ruby    43841 youruserid    9u  IPv4 0x6a1610da80bb9b4f      0t0  TCP 127.0.0.1:1025 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

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

sudo kill 43841
Run Code Online (Sandbox Code Playgroud)

  • 如果每次尝试杀死它时进程都使用新PID重新启动怎么办?有任何想法吗? (4认同)

Bea*_*ith 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.
Run Code Online (Sandbox Code Playgroud)

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

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

$ mailcatcher
Starting MailCatcher
~~> ERROR: Something's using port 1025. Are you already running MailCatcher?
Run Code Online (Sandbox Code Playgroud)

如何退出Mailcatcher:

  1. 在浏览器中打开http网址(http://127.0.0.1:1080).

    注意:端口可能不同1080.如果是这样,你将不得不使用该端口.如果你不知道它,你将不得不使用其中一个其他答案来杀死正在运行的进程.

  2. 在打开的页面的右上角,您将看到"退出"链接.

如何退出MailCatcher


小智 9

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

$ netstat -tulpn | grep :1025
Run Code Online (Sandbox Code Playgroud)

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


Nik*_*iko 5

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

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

config.action_mailer.smtp_settings = {
  ...
  port: 1026,
  ...
}
Run Code Online (Sandbox Code Playgroud)