Je lance le serveur Web Jenkins avec la commande Java -jar jenkins.war
. Ça marche très bien. Lorsque je ferme le terminal, l'application s'arrête.
Comment le faire fonctionner même si je ferme la session de terminal?
La méthode la plus simple et la plus directe est Nohup Java -jar jenkins.war &
. "Nohup" signifie "pas de raccroché", ce qui est une terminologie vintage pour ne pas mettre fin à une session lorsque le terminal se déconnecte. "&" démarre simplement le processus en arrière-plan, comme ce qui se passerait si vous appuyez sur CTRL + Z (puis tapez bg 1
) pendant que le processus s'exécute en avant-plan.
AVERTISSEMENT: par défaut, Nohup envoie la sortie du processus à un fichier texte. Si vous ne faites pas attention, ce fichier peut devenir dangereusement volumineux dans certains cas. Traitez-le comme n'importe quel autre fichier journal en croissance constante.
Installer écran . Dans le terminal, tapez screen
puis exécutez votre application. Appuyez sur CTRL+A,CTRL+D
pour détacher l’écran et tapez l’écran du terminal -r pour le recoller. Vous pouvez accéder à votre écran via ssh
etc ...
apt-get install screen
Utilisez Nohup
Pas de raccroché. Exécuter une commande à l’abri des blocages, exécute la commande donnée avec les signaux de blocage ignorés, afin que la commande puisse continuer à s’exécuter en arrière-plan après votre déconnexion.ManPage
Nohup Command &
Dans votre cas, ce serait
Nohup Java -jar jenkins.war &
Si vous démarrez fréquemment un service comme Jenkins que vous souhaitez exécuter en arrière-plan et ne pas fermer lorsque vous terminez votre session, vous devez envisager de mettre en œuvre un script init pour celui-ci. Regardez les scripts dans /etc/init.d/ pour des exemples. Ce sont des scripts Shell courts qui vous permettent de faire des choses comme service httpd start
et service httpd stop
et même service httpd status
pour savoir si httpd est en cours d’exécution ou s’il est supposé s’être exécuté, mais ne l’est pas.
Il existe un excellent exemple de script pour le service Hudson, qui fonctionne de manière très similaire à Jenkins (ce sont des forks similaires du même codebase), ici: https://wiki.jenkins-ci.org/display/JENKINS/HudsonUbuntuLinuxStartupScript
ajouter &
après votre commande, je veux dire
Java -jar jenkins.war &