Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-3105

Configuration UI to disable process tree killer selectively

    Details

    • Type: Improvement
    • Status: Resolved (View Workflow)
    • Priority: Trivial
    • Resolution: Incomplete
    • Component/s: core
    • Labels:
      None
    • Environment:
      Platform: Sun, OS: Solaris
    • Similar Issues:

      Description

      Due to fix https://hudson.dev.java.net/issues/show_bug.cgi?id=2729, I can't
      restart my tomcat instance with using a script which worked fine before 1.283.
      My script called fastRestart.sh is :
      PWD=`pwd`
      cd $PWD
      #BUILD_ID="dontKillMe catalina.sh start"
      #BUILD_ID="dontKillMe ./startup.sh"
      echo $BUILD_ID
      kill -9 `cat ./tomcat.pid` && ./startup.sh

      My hudson job do :
      BUILD_ID=dontKillMe startup.sh && cd
      /local/dotw/tomcat-dev-ota-ah/apache-tomcat-6.0.14/bin && ./fastRestart.sh

      job console output :
      started
      [workspace] $ /bin/sh -xe
      /local/dotw/tmp/hudson-tmp/hudson3776950102996593394.sh
      BUILD_ID=dontKillMe startup.sh
      + cd /local/dotw/tomcat-dev-ota-ah/apache-tomcat-6.0.14/bin
      + ./fastRestart.sh
      + pwd
      PWD=/local/dotw/tomcat-dev-ota-ah/apache-tomcat-6.0.14/bin
      + cd /local/dotw/tomcat-dev-ota-ah/apache-tomcat-6.0.14/bin
      + echo dontKillMe startup.sh
      dontKillMe startup.sh
      + cat ./tomcat.pid
      + kill -9 9822
      + ./startup.sh
      finished: SUCCESS

      Here the tomcat has been killed and restarted but immediatly stop due to fix for
      2729.
      Is there any other workaround ?
      IMHO we should have a flag when running a script which "don't kill child
      processes" (to preserve a minimum of backward compatibility and a minimum of
      some jobs/scripts rewriting)

      Thanks

      Olivier

        Attachments

          Issue Links

            Activity

            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            The issue stills actual

            Show
            oleg_nenashev Oleg Nenashev added a comment - The issue stills actual
            Hide
            martinus Martin Ankerl added a comment - - edited

            Shorter version of the batch:

            cmd /c "set BUILD_ID=DoNotKill && start mspdbsrv -start -spawn -shutdowntime 2147483647"
            

            Update: Add -shutdowntime, see https://issues.jenkins-ci.org/browse/JENKINS-9104?focusedCommentId=162154&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-162154

            Show
            martinus Martin Ankerl added a comment - - edited Shorter version of the batch: cmd /c "set BUILD_ID=DoNotKill && start mspdbsrv -start -spawn -shutdowntime 2147483647" Update: Add -shutdowntime, see https://issues.jenkins-ci.org/browse/JENKINS-9104?focusedCommentId=162154&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-162154
            Hide
            alexey_larsky Alexey Larsky added a comment -

            I've try to use 'set BUILD_ID=DoNotKill && start mspdbsrv -start -spawn -shutdowntime 2147483647', but msbuild always starts your own instance of mspdbsrv with your BUILD_ID and kill it on finish build.

            Since Jenkins v 1.580.3 glovbal environment settings has been changed and for general node-wide disabling process killing you should add global environment variable 'BUILD_ID' with any value i.e. 'DoNotKill' and additional check 'Prepare jobs environment' checkbox. I don't found way to disable just mspdbsrv killing.

            Show
            alexey_larsky Alexey Larsky added a comment - I've try to use 'set BUILD_ID=DoNotKill && start mspdbsrv -start -spawn -shutdowntime 2147483647', but msbuild always starts your own instance of mspdbsrv with your BUILD_ID and kill it on finish build. Since Jenkins v 1.580.3 glovbal environment settings has been changed and for general node-wide disabling process killing you should add global environment variable 'BUILD_ID' with any value i.e. 'DoNotKill' and additional check 'Prepare jobs environment' checkbox. I don't found way to disable just mspdbsrv killing.
            Hide
            alexey_larsky Alexey Larsky added a comment -

            I really wonder why this issue priority is 'Trivial'. For me it's major.

            Show
            alexey_larsky Alexey Larsky added a comment - I really wonder why this issue priority is 'Trivial'. For me it's major.
            Hide
            slonopotamusorama Marat Radchenko added a comment - - edited

            It isn't clear what does "selectively" mean from this issue description. Like comments say, it is possible to disable process killing for individual processes. Even when these processes are not run directly by Jenkins. No kind of UI is going to provide such level of selectivity.

            Also, there's stuff like pipeline scripts that do not provide any kind of UI and instead edited as text.

            Talking about mspdbsrv.exe, please see JENKINS-9104.

            Show
            slonopotamusorama Marat Radchenko added a comment - - edited It isn't clear what does "selectively" mean from this issue description. Like comments say, it is possible to disable process killing for individual processes. Even when these processes are not run directly by Jenkins. No kind of UI is going to provide such level of selectivity. Also, there's stuff like pipeline scripts that do not provide any kind of UI and instead edited as text. Talking about mspdbsrv.exe, please see JENKINS-9104 .

              People

              • Assignee:
                Unassigned
                Reporter:
                olamy Olivier Lamy
              • Votes:
                13 Vote for this issue
                Watchers:
                16 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: