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

Jenkins System.exit() leaves systemd in an incorrect state

    Details

    • Type: Improvement
    • Status: Open (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: packaging
    • Labels:
      None
    • Environment:
      Ubuntu
    • Similar Issues:

      Description

      UsingĀ Ubuntu Bionic (latest LTS), if you kill the Jenkins process such as via the script console (System.exit(0)), Jenkins shuts down, pidfile is removed. However, systemd still believes the process is running and a start command becomes a no-op.

        Attachments

          Activity

          Hide
          batmat Baptiste Mathus added a comment -

          I do not feel like this should really be fixed.
          Jenkins.instance.doExit(null,null); would do the same but make sure to call the right hooks if really one wants to use the script console. But I would strongly discourage using it for this.

          In general the script console is a very sharp tool, and people should not expect that using it will always behave always the expected user way. Anything can be done or bypassed using this.

          On the other hand: I would definitely consider this a bug if sending a CTRL-C (or a signal using kill) would not correctly call the cleanups. Because using this way *is* the end user way.

          Show
          batmat Baptiste Mathus added a comment - I do not feel like this should really be fixed. Jenkins.instance.doExit(null,null); would do the same but make sure to call the right hooks if really one wants to use the script console. But I would strongly discourage using it for this. In general the script console is a very sharp tool , and people should not expect that using it will always behave always the expected user way. Anything can be done or bypassed using this. On the other hand: I would definitely consider this a bug if sending a CTRL-C (or a signal using kill ) would not correctly call the cleanups. Because using this way * is * the end user way.

            People

            • Assignee:
              Unassigned
              Reporter:
              stevendeal Steven Deal
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: