Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:comment_transformer_un_programme_en_service [Le 03/02/2017, 11:44]
213.163.164.236 [Pourquoi ce tutoriel]
tutoriel:comment_transformer_un_programme_en_service [Le 31/05/2023, 13:18] (Version actuelle)
92.88.170.183 retour en arrière (pardon)
Ligne 1: Ligne 1:
-{{tag>Lucid Precise serveur logiciels services}}+{{tag>tutoriel ​Precise serveur logiciels services}} 
 +----
  
 ====== Comment transformer un programme en service ====== ====== Comment transformer un programme en service ======
Ligne 6: Ligne 7:
  
 Service est traduit en anglais par daemon. Originellement **DAEMON** pour « Disk And Execution MONitor » est un programme réalisant des tâches de fond du système sous Unix. Appelé aussi driver sur d'​autres systèmes. En temps normal, son fonctionnement ne doit pas être remarqué par l'​utilisateur. Un démon peut aussi être un sous-programme appelé par un programme principal (dans ce cas on parle « sérieusement » de bibliothèque partagée). Service est traduit en anglais par daemon. Originellement **DAEMON** pour « Disk And Execution MONitor » est un programme réalisant des tâches de fond du système sous Unix. Appelé aussi driver sur d'​autres systèmes. En temps normal, son fonctionnement ne doit pas être remarqué par l'​utilisateur. Un démon peut aussi être un sous-programme appelé par un programme principal (dans ce cas on parle « sérieusement » de bibliothèque partagée).
- 
----- 
  
 ===== Pourquoi ce tutoriel ===== ===== Pourquoi ce tutoriel =====
  
 Il est parfois nécessaire de transformer un programme en daemon, surtout lors de mise en place de serveur. Par exemple, les serveurs de jeux, ou des programmes de téléchargement automatique tel que **SABnzbd**. Le problème est que les scripts pour « daemonizer » que l'on trouve sur internet, sont mal conçus, voire dangereux pour le système en cas de mauvaise utilisation. Il est parfois nécessaire de transformer un programme en daemon, surtout lors de mise en place de serveur. Par exemple, les serveurs de jeux, ou des programmes de téléchargement automatique tel que **SABnzbd**. Le problème est que les scripts pour « daemonizer » que l'on trouve sur internet, sont mal conçus, voire dangereux pour le système en cas de mauvaise utilisation.
- 
----- 
  
 ===== Mise en place ===== ===== Mise en place =====
  
-Il faut d'​abord créer un script **sh** que nous appellerons dans notre exemple **SABnzbd.sh**. Le nom ici donné est tout à fait arbitraire. Généralement,​ par facilité, on préférera lui donner le même nom que le programme que l'on va transformer en démon.+Il faut d'​abord ​[[:​tutoriel:​comment_modifier_un_fichier|créer]] un script **sh** que nous appellerons dans notre exemple **SABnzbd.sh**. Le nom ici donné est tout à fait arbitraire. Généralement,​ par facilité, on préférera lui donner le même nom que le programme que l'on va transformer en démon.
  
-<note warning>Il faut au préalable avoir rendu ce [[tutoriel:​script_shell|programme ​exécutable]]. +Il faudra ensuite rendre ​ce [[:tutoriel:​script_shell|programme]] ​**SABnzbd.sh** [[:permissions|programme exécutable]].<
-Pour cela, on lance son [[:editeur_de_texte|éditeur]] favori, soit [[:nano]] ou [[:vim]] en ligne de commande, soit [[:gedit]], [[:kate]] ou [[:mousepad]]. +
-</note>+
  
 ==== Script ==== ==== Script ====
  
-On utilise proprement start-stop-daemon qui permet de transformer n'​importe quel programme en démon.+On utilise proprement ​''​start-stop-daemon'' ​qui permet de transformer n'​importe quel programme en démon.
  
 <note important>​Configurer correctement l'​entête du script en fonction de votre utilisation!</​note>​ <note important>​Configurer correctement l'​entête du script en fonction de votre utilisation!</​note>​
Ligne 33: Ligne 28:
 <file bash SABnzbd.sh>​ <file bash SABnzbd.sh>​
 #!/bin/sh -e #!/bin/sh -e
 +#
 +### BEGIN INIT INFO
 +# Provides: ​         SABnzbd
 +# Required-Start: ​   $all
 +# Required-Stop:​
 +# Default-Start: ​    2 3 4 5
 +# Default-Stop: ​     0 1 6
 +# Short-Description:​ description du programme
 +### END INIT INFO
  
 DAEMON="/​opt/​SABnzbd-0.4.11/​SABnzbd.py"​ #ligne de commande du programme, attention à l'​extension .py. DAEMON="/​opt/​SABnzbd-0.4.11/​SABnzbd.py"​ #ligne de commande du programme, attention à l'​extension .py.
-daemon_OPT="​-d -p -f /home/jfb/​SABnzbd/​sabnzbd.ini" ​ #argument à utiliser par le programme+daemon_OPT="​-d -p -f /home/Utilisateur/​SABnzbd/​sabnzbd.ini" ​ #argument à utiliser par le programme ​- Remplacer Utilisateur par votre nom de login
 DAEMONUSER="​user"​ #​utilisateur du programme DAEMONUSER="​user"​ #​utilisateur du programme
 daemon_NAME="​SABnzbd.py"​ #Nom du programme (doit être identique à l'​exécutable). daemon_NAME="​SABnzbd.py"​ #Nom du programme (doit être identique à l'​exécutable).
Ligne 87: Ligne 91:
 </​file>​ </​file>​
  
-Maintenant on sauvegarde le fichier dans son répertoire home "/​home/​user/sabnzbd", ensuite on va le déplacer dans /etc/init.d et lui donner les bons droits d'​exécution.+Maintenant on sauvegarde le fichier dans son **Dossier Personnel/sabnzbd**, ensuite on va le déplacer dans /etc/init.d et lui donner les bons droits d'​exécution.
  
 <​code>​ <​code>​
-sudo cp /user/home/sabnzbd /​etc/​init.d/​.+sudo cp ~/sabnzbd /​etc/​init.d/​.
 sudo chmod 0755 /​etc/​init.d/​sabnzbd sudo chmod 0755 /​etc/​init.d/​sabnzbd
 </​code>​ </​code>​
Ligne 150: Ligne 154:
   * [[wpfr>​Daemon_(informatique)]]   * [[wpfr>​Daemon_(informatique)]]
   * http://​jargonf.org/​wiki/​d%C3%A9mon   * http://​jargonf.org/​wiki/​d%C3%A9mon
-  * http://​www.linuxtricks.fr/​wiki/​systemd-les-commandes-essentielles+  * https://​www.linuxtricks.fr/​wiki/​systemd-les-commandes-essentielles
  
 ---- ----
 //​Contributeurs : Rédigée et maintenue par [[:​utilisateurs/​RedLemon]]//​ //​Contributeurs : Rédigée et maintenue par [[:​utilisateurs/​RedLemon]]//​
  • tutoriel/comment_transformer_un_programme_en_service.1486118643.txt.gz
  • Dernière modification: Le 03/02/2017, 11:44
  • par 213.163.164.236