ChatGPT解决这个技术问题 Extra ChatGPT

How to restart Jenkins manually?

This question's answers are a community effort. Edit existing answers to improve this post. It is not currently accepting new answers or interactions.

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?

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.
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.
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.

r
rogerdpack

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.


For safeRestart, see 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).
This causes a RestartNotSupportedException in Jenkins 1.532.1 with IcedTea 2.3.9. sudo /etc/init.d/jenkins restart worked for me though.
In Windows, use the Windows service rather than the command line.
Are there any internal links from jenkins to do this instead of rememebering magic url's?
Is this not available in the web gui?
K
KarSho

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


T
Timo Tijhof

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}

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).
r
rogerdpack

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:

https://i.stack.imgur.com/vz1tj.png


I often use this feature for plugin installs.
Bizarre that this plugin is not included by default.
V
Varun

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


P
Peter Mortensen

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.


trying to reach /safeRestart on windows will lead to: javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: Default Windows lifecycle does not support restart.
When /safeRestart is unavailable, use /safeExit before manually restarting.
J
Javier C.

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

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


P
Peter Mortensen

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

you can then restart using load
P
Peter Mortensen

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.


P
Peter Mortensen

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).


P
Peter Mortensen

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://:8080/manager/list or after authentication hit http://:8080/manager/stop?path=/myapp+ http://:8080/manager/start?path=/myapp.

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

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


Just pick you use case nice answer !!
can we use these options to automatically identify if jenkins is not responding and can restart when its not responding ?
P
Peter Mortensen

Use the command line interface:

java -jar jenkins-cli.jar -s http://jenkins.example.com:8080/ -i /root/.ssh/id_rsa safe-restart

C
Community

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


P
Peter Mortensen

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>

D
Dev pokhariya

If you are running Jenkins in FreeBSD(OS):

/usr/local/etc/rc.d/jenkins restart

P
Peter Mortensen

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

S
Sazzad Hissain Khan

For Mac

Stop Jenkins

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

Start Jenkins

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

P
Peter Mortensen

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.


T
Trikaldarshiii

JenkinURL/restart will do the restart.

/usr/local/etc/rc.d/jenkins restart

But /usr/local/etc/rc.d/jenkin is not a URL(?). Can you elaborate?
P
Peter Mortensen

From the terminal:

sudo service jenkins restart

Or jenkinsurl/restart.


P
Peter Mortensen

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).


P
Peter Mortensen

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


P
Peter Mortensen

For CentOS:

sudo systemctl restart jenkins

sudo systemctl status Jenkins

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


P
Peter Mortensen

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

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
h
hoi

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


C
Community

Windows

Run services.msc and restart:

https://i.stack.imgur.com/u4N5f.png


P
Peter Mortensen

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

Wondering why you don't just do "(sudo) service jenkins restart" ?
Yes, absolutely correct but I have faced issue ,sometimes in which it doesn't worked for me.
N
Neil

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


quite dangerous to just search for java processes, don't you think? One should grep for something more jenkins specific imo.
P
Peter Mortensen

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

Create a job with shell/batch step that will trigger a restart from the Jenkins installation folder 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.


P
Peter Mortensen

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.


关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now