816

I've just started working with Jenkins and have run into a problem. After installing several plugins it said it needs to be restarted and went into a "shutting down" mode, but never restarts.

How do I do a manual restart?

Jacek Laskowski
  • 64,943
  • 20
  • 207
  • 364
Kerry Jones
  • 21,388
  • 11
  • 58
  • 87
  • 34
    Note: "Jenkins is Shutting Down" doesn't actually shut down, it just notifies the various users that might want to build something that Jenkins is gonna be restarted soon. – Khez Aug 03 '12 at 11:42
  • Since version 1.442 Jenkins **doesn't** require to be restarted after **installing** new plug-in(s), use *“Install without restart”*. Unfortunately this feature will not work for update or uninstall. – luka5z May 28 '16 at 21:16
  • 1
    Something to note that I didnt notice that anyone else mentioned...If you put Jenkins in shutdown mode it doesnt actually shut down, which has been mentioned. What wasn't noted is that it stops new builds from starting. If you need to let a build complete before you restart you should put Jenkins in shutdown mode, let your build finish, and then do your "restart" with whatever method you choose from above. – TheRedSeth Mar 07 '14 at 17:28

31 Answers31

2101

To restart Jenkins manually, you can use either of the following commands (by entering their URL in a browser):

(jenkins_url)/safeRestart - Allows all running jobs to complete. New jobs will remain in the queue to run after the restart is complete.

(jenkins_url)/restart - Forces a restart without waiting for builds to complete.

rogerdpack
  • 50,731
  • 31
  • 212
  • 332
Željko Filipin
  • 52,828
  • 28
  • 91
  • 124
  • Is there an equivalen of the safeRestart but done using Shell command? – Kim Stacks Mar 09 '13 at 06:31
  • 14
    For safeRestart, see http://stackoverflow.com/a/15555339/260122 `java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart` (if installed by rpm or deb, otherwise adjust accordingly). – clacke Nov 14 '13 at 03:28
  • 13
    This causes a `RestartNotSupportedException` in Jenkins 1.532.1 with IcedTea 2.3.9. `sudo /etc/init.d/jenkins restart` worked for me though. – Matthias Braun Feb 05 '14 at 18:57
  • 1
    Neither restart nor safeRestart work in Windows, it throws a RestartNotSupportedException. I had to restart the whole Tomcat (ugly option, I know) – jmm Dec 23 '14 at 19:04
  • Tip: if you are using the Workflow plugin, `restart` will not kill running Workflow builds. In version 1.8 or later (requires Jenkins 1.609.1 or later), `safeRestart` will also go ahead and restart Jenkins even while Workflow builds are in progress (after any “traditional” builds complete). – Jesse Glick Sep 11 '15 at 17:08
  • 4
    In Windows, use the Windows service rather than the command line. – Mag Sep 30 '15 at 06:59
  • @Mag I agree. They mention the commands here: http://stackoverflow.com/a/14869398/4620962 More details on installing as a service can be found here: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service – Venkata.Mutyala Mar 02 '16 at 06:43
  • @Mag no side effects from restarting the Jenkins service so long as everything is idling and no pending changes have not yet been saved right? – jxramos Mar 25 '16 at 01:16
  • 11
    Are there any internal links from jenkins to do this instead of rememebering magic url's? – rogerdpack Sep 20 '16 at 19:15
  • do you know if doing the 2nd (unsafe option) in any way differs from simply rebooting the web server container that the Jenkins runs out of (e.g. Tomcat, Glassfish etc)? – amphibient Mar 16 '17 at 19:56
  • In Linux, you have the `service jenkins restart` option, if you installed Jenkins with System V init scripts. – PdC Apr 20 '17 at 20:15
  • 9
    Is this not available in the web gui? – realtebo Jul 08 '18 at 14:39
  • 1
    Be aware if Jenkins is deployed as a ".war" file within a running Tomcat, a Jenkins restart also restarts any other .war files in that Tomcat instance. – rogerdpack Aug 28 '18 at 19:05
  • 3
    Is there no Button for that? – Sandburg Oct 12 '18 at 15:12
  • service jenkins restart solved my docker socket problem while restarting from browser did not. – Onur Demir Jun 14 '19 at 15:22
195

If you installed as a rpm or deb, then service jenkins restart will work also.

KarSho
  • 5,478
  • 13
  • 41
  • 75
Ben Mathews
  • 2,629
  • 1
  • 17
  • 25
125

On Ubuntu or Debian, when installed through apt-get/dpkg:

$ sudo /etc/init.d/jenkins restart
Usage: /etc/init.d/jenkins {start|stop|status|restart|force-reload}
Timo Tijhof
  • 9,597
  • 6
  • 31
  • 45
  • 4
    [https://support.cloudbees.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance-](https://support.cloudbees.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance-) says IMPORTANT : Do not launch methods start|stop|restart manually as $sudo /etc/init.d/jenkins start|stop|restart because it makes your service unreliable as it picks up the environment from the root user as opposed to a clean reliable blank environment that is set by the init launchers (service / systemctl). – battey Nov 08 '19 at 23:04
101

The SafeRestart Plugin needs to be mentioned. It is pretty useful (Restart Safely). It adds a link to be able to restart from the main menu:

Enter image description here

rogerdpack
  • 50,731
  • 31
  • 212
  • 332
Vitalii Elenhaupt
  • 6,666
  • 3
  • 23
  • 39
78

The below commands worked for me in Red Hat Linux and should work for Ubuntu also.

  • To know the status of Jenkins:

    sudo service jenkins status
    
  • To start the Jenkins:

    sudo service jenkins start
    
  • To stop the Jenkins:

    sudo service jenkins stop
    
  • To restart the Jenkins:

    sudo service jenkins restart
    

Demo on command prompt:

[root@varunHome]# sudo service jenkins status
jenkins (pid  7468) is running...

[root@varunHome]# sudo service jenkins stop
Shutting down Jenkins               [  OK  ]

[root@varunHome]# sudo service jenkins start
Starting Jenkins                    [  OK  ]

[root@varunHome]# sudo service jenkins restart
Shutting down Jenkins               [  OK  ]

Starting Jenkins                    [  OK  ]
[root@varunHome]#

The folks who are using windows

Open Console/Command line --> Go to your Jenkins installation directory. Execute the following commands respectively:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart
Varun
  • 5,501
  • 18
  • 69
  • 107
37

On Windows, if you installed it as a service, go to Services (StartRun: services.msc), find Jenkins, right click → Restart.

If it does not help (UI is not responding) open the Windows Task Manager → Processes, kill the java.exe process, and restart the service once again.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Constantine
  • 649
  • 7
  • 5
  • 7
    trying to reach /safeRestart on windows will lead to: javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: Default Windows lifecycle does not support restart. – x29a Feb 17 '14 at 11:28
  • 1
    When `/safeRestart` is unavailable, use `/safeExit` before manually restarting. – Jesse Glick Sep 11 '15 at 17:09
19

If you're running Jenkins on Mac OS X then you can manually stop the service by executing this command:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Jalal
  • 387
  • 2
  • 5
19

This can also be done using the Jenkins CLI:

java -jar jenkins-cli.jar -s http://[jenkins-server]/ restart

The jenkins-cli.jar file along with a full list of commands are available at http://[jenkins-server]/cli.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Ciaran
  • 2,184
  • 1
  • 15
  • 17
12

If you want to just reload the configuration file, one can do

    <jenkins_url>/reload

This is quicker if you have made some small change in the configuration file, like config.xml directly in the file system or made copies of the job through the filesystem (not through the browser).

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
infoclogged
  • 2,639
  • 2
  • 21
  • 43
11

It depends on how Jenkins has been started.

  • As a service: sudo service jenkins restart, sudo /etc/init.d/jenkins restart, etc.

  • As a web application in a Tomcat installation: restart your Tomcat, or just restart the application in Tomcat. Go to http://<tomcat-server>:8080/manager/list or after authentication hit http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp.

  • Launched with just java -jar: kill it (kill -9 <pid>), and relaunch it.

  • Launched with java -jar, but from a supervisor: supervisorctl restart jenkins

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
François SAMIN
  • 342
  • 2
  • 7
9

Use the command line interface:

java -jar jenkins-cli.jar -s http://jenkins.example.com:8080/ -i /root/.ssh/id_rsa safe-restart
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
domidc
  • 231
  • 3
  • 7
9

On Windows

Go to the Jenkins installation, open the cmd and run:

  • To stop:

     jenkins.exe stop
    
  • To start:

     jenkins.exe start
    
  • To restart:

     jenkins.exe restart
    
Community
  • 1
  • 1
Monis Majeed
  • 1,230
  • 13
  • 20
8

Sometimes there will be some stale Jenkins processes, so ps -ef | grep jenkins kill all of them. Restart as described in previous answers, and it will be clean.

ps -ef | grep jenkins
sudo kill -kill <pid>
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
sharp
  • 597
  • 3
  • 10
  • 21
8

You have many options to restart Jenkins manually, but mainly two (URL or command line):

  • Alternative 1: Using the Jenkins installation URL:

    Jenkins_URL/restart.

    Example: http://jenkinsserver.com/restart

    This type of restart forces a restart without waiting for builds to complete.

    If you need to wait for the jobs endings you can use:

    Jenkins_URL/safeRestart.

    Example: http://jenkinsserver.com/safeRestart

  • Alternative 2: Using the command line, depending on your Jenkins installation.

    • If you're installing using rpm or deb package or you have the Jenkins installation in Red Hat, Ubuntu, or Debian, you can use these commands:

    • sudo service jenkins restart

      This restart Jenkins in one step.

    • sudo service jenkins stop and sudo service jenkins start,

      This restart Jenkins in two steeps.

      Note: if you need to check the Jenkins status, you can use this command: sudo service jenkins status

    • If you are using CentOS, you can use this command:

      sudo systemctl restart jenkins
      

      Note: if you need to check the Jenkins status, you can use this command: sudo systemctl status Jenkins

Javier C.
  • 6,011
  • 4
  • 33
  • 46
7

If you run FreeBSD:

/usr/local/etc/rc.d/jenkins restart
Eric Cope
  • 857
  • 1
  • 11
  • 24
5

If you are able to access it in a web browser, just add /restart, for example, localhost:8080/restart.

If you are running it as a service then log in to your server and execute the command:

sudo service jenkins stop/start
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Rizwan Javid
  • 533
  • 6
  • 12
4

For Mac

Stop Jenkins

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

Start Jenkins

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
Sazzad Hissain Khan
  • 29,428
  • 20
  • 134
  • 192
4

For restarting Jenkins manually using the browser:

Enter your www.jenkins-ip/restart (for example, http://localhost:8080/restart) in the browser. Jenkins will restart and load the login page automatically after restart.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Vaibhav Walke
  • 333
  • 2
  • 6
3

JenkinURL/restart will do the restart.


/usr/local/etc/rc.d/jenkins restart
Trikaldarshiii
  • 10,566
  • 16
  • 61
  • 90
Sebin
  • 77
  • 1
3

Several people have mentioned the need to restart the servlet container if Jenkins is not running as a standalone. But Tomcat (or what is being used) doesn't need to be restarted. Tomcat can force a restart of the Jenkins context if your Jenkins restart is hung.

But to address another comment, when you put Jenkins in the "shutting down" mode it will not actually shut down. It stops new jobs from executing and place a giant red banner on the system pages so everyone knows that the administrator wants to take it down eventually. There are plugins to trigger a servlet container restart for that context after all builds are completed.

The alternative is to wait till the last running job completes, then manually kick over Jenkins from the container (or via the command line options that others have mentioned for the standalone Jenkins install).

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
3

From the terminal:

sudo service jenkins restart

Or jenkinsurl/restart.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Sidhartha
  • 728
  • 2
  • 14
  • 31
3

If it is deployed as a war file then restart the application server, for example, Tomcat.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
sharp
  • 597
  • 3
  • 10
  • 21
2

For CentOS:

sudo systemctl restart jenkins

sudo systemctl status Jenkins

Jenkins will be active and up and running on some PID.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Aamir M Meman
  • 1,094
  • 9
  • 15
2

If it is in a Docker container, you can just restart your container. Let's assume the container name is jenkins, so you can do:

docker restart jenkins

Or

docker stop jenkins
docker start jenkins
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Youssouf Maiga
  • 4,251
  • 5
  • 20
  • 34
  • Important! On docker - Jenkins data must be persistent (you might lose running jobs, resources, builds, data etc...) Therefore be cautious ,you better NOT using "restart" and DO use stop and start on docker image. the solution would be: sudo docker ps -> sudo docker stop -> sudo docker start – avivamg Sep 08 '19 at 08:43
1

Try the below. It worked for me.

sudo service jenkins status  

It will give you PID of Jenkins. Now do a

kill -15 [PID]

sudo service jenkins start
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Avinash Agrawal
  • 848
  • 1
  • 8
  • 15
1

If nothing works then find the Jenkins process by

ps aux | grep java

and then kill it:

kill -9 [PID]

sudo service jenkins start

Edit : Look for the java process which is related to jenkins

Neil
  • 5,331
  • 13
  • 52
  • 77
  • 4
    quite dangerous to just search for java processes, don't you think? One should grep for something more jenkins specific imo. – Tim Büthe Jul 29 '15 at 12:39
1

Browse http://[jenkins-server-url]/updateCenter/ and just check 'restart jenkins'

hoi
  • 1,918
  • 17
  • 21
1

Windows

Run services.msc and restart:

Enter image description here

Community
  • 1
  • 1
Tiago Medici
  • 1,030
  • 12
  • 13
0

If you are running Jenkins as a server on a Windows machine, then open Task Manager and switch to the service tab. Search for Jenkins and restart it.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Prem Choudhary
  • 160
  • 1
  • 7
0

If you have no permissions or access to the command line directly, you can do e.g. one of the following:

  1. Create a job with shell/batch step that will trigger a restart from the Jenkins installation folder
  2. Install/update some plugin while checking "restart after installation" (at least this works in old versions)

Both above are hacks, but I actively used them in a very restricted environment where no one wanted me to restart Jenkins, huh.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
TEH EMPRAH
  • 1,158
  • 11
  • 29
-2

jenkins_url/restart is the safest way of doing it.

For service- Service Jenkins restart.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Biswajit Das
  • 594
  • 6
  • 22