jekyll 2.2.0 | 错误:地址已在使用中 - bind(2)

con*_*led 14 jekyll

我是Jekyll博客的新手,并试图在本地查看博客

http://localhost:4000
Run Code Online (Sandbox Code Playgroud)

但失败了.

? my-awesome-site > jekyll serve
Notice: for 10x faster LSI support, please install http://rb-gsl.rubyforge.org/
Configuration file: /home/Git/my-awesome-site/_config.yml
        Source: /home/Git/my-awesome-site
   Destination: /home/Git/my-awesome-site/_site
  Generating...
                done.
Configuration file: /home/Git/my-awesome-site/_config.yml
jekyll 2.2.0 | Error:  Address already in use - bind(2)
Run Code Online (Sandbox Code Playgroud)

我试过了

$ lsof -wni tcp:3000
$ lsof -wni tcp:4000
Run Code Online (Sandbox Code Playgroud)

但他们两个都没有回报.

我的Ruby版本是:

? my-awesome-site > ruby --version
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Run Code Online (Sandbox Code Playgroud)

接下来我该怎么办?我已经重新安装了jekyll,但同样的问题仍然存在.

Mat*_*fou 24

请参阅http://jekyllrb.com/docs/usage/中的评论,应该对您有所帮助:

如果您需要终止服务器,那么kill -9 1234"1234"就是PID.

如果找不到PID,则执行ps aux | grep jekyll 并终止实例.阅读更多.


Muh*_*rif 10

这里的步骤为我修好了.我不得不附上'sudo'和命令.

$> sudo lsof -wni tcp:4000
Run Code Online (Sandbox Code Playgroud)

它将为您提供在tcp端口4000上运行的进程的信息,该进程还包含PID(进程ID).现在使用下面的命令来终止进程.

$> sudo kill -9 PID
Run Code Online (Sandbox Code Playgroud)

现在您可以执行jekyll serve命令来启动您的站点


Tua*_*ran 4

尝试查看哪个进程正在使用该端口,将其终止并再次运行,或者尝试在不同的端口上运行 jekyll。

  • @control 在你的 `_config.yml` 中,添加 `port: 4444` 例如。或者,您可以执行“jekyllserve --watch --port 4444” (10认同)