我无法在后台启动Jenkins(地址已在使用中)

时间:2019-04-03 08:07:35

标签: jenkins background-process

我正在使用

运行詹金斯
java -jar jenkins.war -httpPort=31114

它可以正确启动,现在我试图在后台运行它,我发现可以使用Start Jenkins in the background中提到的nohup java -jar jenkins.war -httpPort=31114 &来完成它。

但是当我终止从头开始的会话并尝试在同一端口在后台运行它时,出现以下错误:

SEVERE: Container startup failed
java.io.IOException: Failed to start Jetty
    at winstone.Launcher.<init>(Launcher.java:186)
    at winstone.Launcher.main(Launcher.java:354)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at Main._main(Main.java:375)
    at Main.main(Main.java:151)
Caused by: java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:339)
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:235)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.server.Server.doStart(Server.java:395)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at winstone.Launcher.<init>(Launcher.java:184)
    ... 7 more

2 个答案:

答案 0 :(得分:1)

Caused by: java.net.BindException: Address already in use

这意味着詹金斯已经在给定端口上运行,或者其他进程正在使用该端口。

netstat -nltp使用此命令检查所有打开的端口。如果jenkin已准备好在该端口上运行,或者如果其他进程正在使用该端口,则可以终止该进程。

下面您所使用的建议是正确的。可能是您打了两次。

nohup java -jar jenkins.war -httpPort=31114 & 

ps -ef | grep jenkins。要检查jenkins是否已经在运行。

答案 1 :(得分:0)

我尝试将命令nohup java -jar jenkins.war --httpPort=31114 &添加到bash文件中并运行该文件,该文件可以正常工作