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

BSD Discussion :

Exécution automatique d'un programme au démarrage de l'O.S.


Sujet :

BSD

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Points : 41
    Points
    41
    Par défaut Exécution automatique d'un programme au démarrage de l'O.S.
    Bonjour à tous,

    Pour les besoins d'un projet, il me faut écrire un programme de contrôle qui doit se lancer automatiquement après le chargement de l'O.S., NanoBSD en l'occurence (qui n'est ni plus ni moins un FreeBSD embedded).

    Mes questions:

    1 - Est-ce cela que l'on appele un script ?
    2 - Est-il possible d'automatiser l'exécution de ce programme avant le login ou pas ?
    3 - Ce programme doit exécuter une commande (dmidecode) qui va écrire dans un fichier texte.
    Quelle est l'expression dans un fichier source C qui permet d'exécuter une commande (dmidecode dans ce cas) ?
    Merci !

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    1 - Non, un script c'est n'importe fichier texte que tu peux exécuter via un interpréteur : script shell, script perl, ... On appelle ça "script" même si ce n'est pas lancé automatiquement

    2 - Je ne connais pas FreeBSD, je laisse les autres répondre

    3 - Il y a plusieurs méthodes, suivant ce que tu veux faire avec ta commande. Si tu veux juste l'exécuter tu peux faire un system(). Si tu veux aussi récupérer sa sortie tu peux utiliser popen(). Si tu veux faire des choses un peu spéciales tu peux faire tout ce que tu veux à la main en utilisant pipe(), fork(), dup2(), execv().

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Points : 41
    Points
    41
    Par défaut
    Merci matafan pour ta réponse, je vais regarder tout cela de plus près !

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par Ecureuil
    2 - Est-il possible d'automatiser l'exécution de ce programme avant le login ou pas ?
    Oui, il faut pour cela créer un script "rc.d" (en admettant que NanoBSD n'est pas modifié à ce niveau). Vous devriez donc en trouver des exemples dans /etc/rc.d/.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Points : 41
    Points
    41
    Par défaut
    Bonjour julp,

    Merci pour le retour, effectivement il faudra m'assurer que NanoBSD prend bien en compte ce fichier-là,.

    Par contre, j'ai lu ici que le fichier en question était rc.local...

  6. #6
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Points : 2 412
    Points
    2 412
    Par défaut
    +1 pour julp

    Il faut que tu écrives ton script dans /etc/rc.d en respectant la syntaxe (explication dans le lien donné par julp), puis ne pas oublier d'activer l'execution du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # vi /etc/rc.conf
    ton_nom_de_script_enable="YES"

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Points : 41
    Points
    41
    Par défaut
    Effectivement, rc.local était surtout utilisé dans les précédentes versions.
    man est ton ami...

    Merci à vous julp & lavazazio.

    Avis aux modos, je ne sais pas/n'arrive pas à éditer mon premier post pour mettre cette discussion en [Résolu], merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécution automatique d'un programme
    Par Aide_sas dans le forum R
    Réponses: 4
    Dernier message: 22/06/2015, 14h27
  2. Réponses: 0
    Dernier message: 19/07/2011, 15h44
  3. Démarrage automatique d'un programme
    Par olive18 dans le forum Visual Studio
    Réponses: 4
    Dernier message: 22/09/2009, 10h00
  4. Exécution automatique d'un programme
    Par guy_antoine_mav dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 26/08/2008, 13h47
  5. [Windows XP][Démarrage]Démarrage automatique d'un programme
    Par Jean Claude90 dans le forum Windows XP
    Réponses: 5
    Dernier message: 02/03/2005, 12h55

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