【问题标题】:How to get PID and Port # for a Jenkins Process如何获取 Jenkins 进程的 PID 和端口号
【发布时间】:2016-02-27 15:57:07
【问题描述】:

我需要为 Jenkins 进程运行获取 PID 和端口号。如果我得到那个 PID,我可以在需要时终止该进程。

我正在通过以下命令运行 Jenkins 进程:

java -jar jenkins.war 

有时,如果该端口被占用,Jenkins 进程将无法启动并且发生以下情况:

Jenkins home directory: /Users/MacPro/.jenkins found at: $user.home/.jenkins
Feb 27, 2016 10:46:09 AM org.eclipse.jetty.util.log.JavaUtilLog warn
WARNING: FAILED 
SelectChannelConnector@0.0.0.0:8080:java.net.BindException: 
Address already in use
java.net.BindException: Address already in use

而且我知道如何针对特定的 Port# 运行 jenkins 进程。

需要知道当前作业正在使用的 PID 和端口的命令。

【问题讨论】:

  • 我想通了!!! :)
  • 你可以自己回答这个问题。

标签: java jenkins


【解决方案1】:

命令如下:

ps -ef| grep jenkins 

它将显示进程ID。

【讨论】:

    【解决方案2】:

    回答您的问题 1) 在 Unix box 中,命令用法为 ps -ef| grep jenkins,它将显示进程ID(pid) 2) 杀死 -9 (pid)

    【讨论】:

      【解决方案3】:

      这应该可以完成工作。更好地使用相同的命令查找和杀死,节省时间:

      ps -Af | grep "jenkins" | grep -v grep | awk '{print$2}' | xargs kill -9
      

      杀死前可以检查进程

       ps -Af | grep "jenkins" | grep -v grep | awk '{print$2}'
      

      如果你使用 tomcat 运行 Jenkins

      ps -Af | grep "tomcat" | grep -v grep | awk '{print$2}' | xargs kill -9
      

      请注意,这些命令是在 RHEL 上测试的。

      【讨论】:

        【解决方案4】:

        您可以尝试以下命令以获得更清晰的输出:

        lsof -Pni | grep mysql
        

        【讨论】:

          猜你喜欢
          • 2011-09-17
          • 2016-02-01
          • 1970-01-01
          • 2016-07-14
          • 2014-05-12
          • 1970-01-01
          • 2017-10-14
          • 2012-06-15
          • 2015-02-16
          相关资源
          最近更新 更多