IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ubuntu Discussion :

lancer demon python au démarrage


Sujet :

Ubuntu

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Par défaut lancer demon python au démarrage
    Bonjour,

    J'ai un script python que j'ai transformé en demon en suivant un tutoriel trouvé sur un autre site.

    J'ai vérifié si le démon était bien dans la liste des demon avec :
    sudo sysv-rc-conf
    Là je vois bien mon demon et les cases de 2 à 5 cochées mais quand je redémarre, et que je teste:
    /etc/init.d/monDemon status
    Il me retourne not running

    De plus j'arrive bien à démarrer et arrêter le démon manuellement
    /etc/init.d/monDemon start

    La solution que j'ai trouvée pour qu'il se lance au démarrage est d'aller dans le menu d'ubuntu : préférences=>programme au démarrage=>ajouter et là je mets le nom et le path de mon demon : /etc/init.d/monDemon

    J'aimerai remplacer cette dernière action par une commande pour pouvoir l'ajouter à mon script bash et que tout soit automatisé.

    Merci de vos futures bonnes réponses

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    salut la solution c'est les liens de start de niveau

    par exemple
    qui pointe sur et
    pareil pour l'arret avec bien sur...

    après à toi de bien les placer dans les bons level pour tes besoins.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Par défaut
    Merci de votre réponse.

    Donc je dois modifier
    en
    [code]s10monDemon[/ CODE]

    et dans mon script bash au moment où je crée le service
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo update-rc.d monDemon defaults 99
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo update-rc.d monDemon defaults 10
    Et donc là le demon démarrera avec la machine?

    Merci

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    non

    /etc/rc5.d/S99daemon est un lien symbolique vers le script /etc/init.d/daemon

    le script /etc/init.d/daemon doit obligatoirement accepter le paramêtre start

    idem pour le K99

    le n° (ici 99) est juste un numéro d'ordre de démarrage.

    c'est inutile, et tu fais ça pour chaque level nécéssitant l'arret ou le démarrage

    ================

    il ne faut pas refaire le rc update derrière puisque tu as fais son boulot à la main.

    en plus utiliser rc update est mauvais car tu en prends l'habitude et quand tu te trouve sur une autre machine, avec une autre distribution ou un unix proprio tu seras perdu

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Par défaut
    Desoler mais je suis un peu perdu pcq je debute avec linux donc c est nouveau pour moi
    Je ne comprends pas le terme level
    Au moment ou je cree le demon je dois quand meme faire update.rc?
    Et au final comment je fais pour que mon script demarre automatiquement?

    Merci de votre aide

  6. #6
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    les levels c'est pas très compliqué
    l'init se fait sur différents levels de 0 à 6

    0 : arrêt machine
    6 : reboot
    1 : single (que root)
    2 : single + réseau actif (la pluspart du temps ce niveau n'existe plus il est intégré dans le level1)
    3 : consoles + réseaux pour tous utilisateurs
    4 : n'existe plus
    5 : accès normal multi-utilisateur et consoles graphiques actives

    pour chaque niveau il y a dans /etc un volume rcx.d correspondant
    /etc/rc1.d/
    /etc/rc2.d/
    etc...

    ils ne contiennent que des liens symboliques vers les différents scripts de démarrage de /etc/init.d

    ces liens symboliques sont només Sxxnomdaemon et Kxxnomdaemon ou xx est un n° qui correspond à l'ordre de démarrage (si il y a deux n° identiques c'est l'ordre ALPHANUM qui fait foi)

    tout script dans /etc/init.d doit supporter en paramêtre au minimum start et stop, idéalement restart et status en plus.

    un exemple complêt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    cat > /etc/init.d/demarre.sh
    #!/bin/sh
    case "$1" in
      start)
            echo start >> /tmp/toto
            ;;
      restart|reload|force-reload)
            echo "Error: argument '$1' not supported" >> /tmp/toto
            exit 3
            ;;
      stop)
            echo stop >> /tmp/toto
            ;;
      *)
            echo "Usage: $0 start|stop" >&2
            exit 2
            ;;
    esac
    exit 0
    une fois le script existant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    chmod 750 /etc/init.d/demarre.sh
     
    ln -s /etc/init.d/demarre.sh /etc/rc5.d/S99demarre
    ln -s /etc/init.d/demarre.sh /etc/rc6.d/K99demarre
    ln -s /etc/init.d/demarre.sh /etc/rc0.d/K99demarre
    Là tu as crée un demarreur qui alimente un fichier /tmp/toto aux arrêt/démarrages/reboot de la machine.

    il n'y a aucune autre action à faire

Discussions similaires

  1. [SOLARIS] lancer un programme au démarrage
    Par gangsoleil dans le forum Solaris
    Réponses: 2
    Dernier message: 01/12/2005, 22h11
  2. [Système]Problème pour lancer l'appli au démarrage
    Par CVERRIER3 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 23/11/2005, 16h07
  3. Comment lancer un programme au démarrage de Windows ?
    Par nesquik dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 29/07/2005, 17h48
  4. lancer une application au démarrage de WinXP
    Par Sph@x dans le forum Windows
    Réponses: 6
    Dernier message: 07/04/2004, 18h05
  5. Lancer un programme au démarrage
    Par ludo_7 dans le forum Windows
    Réponses: 7
    Dernier message: 09/10/2003, 16h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo