Cette réponse s'applique aux versions d'Ubuntu avec Upstart (& lt; = 14.10). Utilisez une autre approche pour les versions avec Systemd (& gt; = 15.04).
Il semble que vous recherchiez une fonctionnalité déjà fournie dans Ubuntu avec Upstart . La strophe respawn
dans la configuration fera exactement ce dont vous avez besoin. Je déconseille l'utilisation d'une méthode moins standard pour y faire face.
Sans plus de détails sur le processus que vous essayez de gérer, il est difficile de dire à quoi la configuration doit ressembler. Cela dépend si elle se faufile et se met en arrière-plan par exemple. La documentation Upstart sur la strophe respawn
devrait vous donner plus d'informations.
Malheureusement, il n’est pas encore possible d’exécuter correctement les jobs utilisateur: ne peut pas démarrer exécuter le travail utilisateur
exemple
Supposons que nous voulons conserver l’application de la calculatrice, même s’il est tué par le feu (signal 9).
-
Créez un fichier de configuration dans /etc/init/calculator.conf
(basé sur cet article ):
#!upstart
description "Calculator"
# Start job via the daemon control script. Replace "gert" with your username.
exec su -l gert -c 'export DISPLAY=:0; /usr/bin/gnome-calculator'
# Restart the process if it dies with a signal
# or exit code not given by the 'normal exit' stanza.
respawn
# Give up if restart occurs 10 times in 90 seconds.
respawn limit 10 90
-
Lancez-le en cours d'exécution
sudo start calculator
-
Il s’ouvre sur votre écran actuel ( :0
) et apprécie la qualité en le redémarrant après sa fermeture.
-
Identifiez l'identifiant du processus, par ex. en faisant ps aux | grep calculator
:
gert 13695 0.2 0.4 349744 16460 ? Sl 13:38 0:00 /usr/bin/gnome-calculator
-
Tue-le avec le feu.
sudo kill -9 13695
-
Regardez-le réapparaître:
gert 16059 4.6 0.4 349736 16448 ? Sl 13:40 0:00 /usr/bin/gnome-calculator
Notez que cela sera plus élégant avec les plans pour les plans Ubuntu 13.04 avec un support approprié du Job Utilisateur.