Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2011, 17h31   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 13
Points : 13
Par défaut Récupérer le PID d'un daemon

Bonjour à tous,

Je vous explique brièvement ma recherche.
Je veux lancer admettons 50 fois le même programme en daemon, il s'agit d'un encodeur Shoucast 'sc_trans'
Ensuite je dois retrouver chaque encodeur grâce à son PID pour le relancer (ou l'arrêter) à une heure donnée, ex: 05h00 puis un autre à 07h00 etc.
C'est le même programme qui est lancé avec un fichier de configuration différent, mais je ne sais pas comment les identifier un à un.

Je pensais qu'il existait un nom symbolique (que j'aurais pu donner) pour le daemon, mais à priori cela n'existe pas.
Je peux copier en renommant le programme 50 fois, mais je trouve un peu nigot...
Je sais que l'on peux retrouver le PID à l'aide de commande telle que ps -C sc_trans -o pid= , mais cette commande me renvoie tous les PID de mes daemon ayant le même nom...

Bref, comment faire pour retrouver le bon PID et agir dessus, comment feriez-vous ???
Il faudrait que je puisse donner un nom à chaque daemon, est-ce possible ? Ou mémoriser le PID de chaque encodeur quelque part au lancement ?

Merci pour vos suggestions...

P
helios399 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 17h53   #2
Membre confirmé
 
Homme antoine jouan
Étudiant
Inscription : janvier 2010
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme antoine jouan
Âge : 25
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2010
Messages : 175
Points : 250
Points : 250
Bonjour,
Tu peux faire un script qui lance 50 fois ton deamon et qui mais un label + pid dans un fichier texte ensuite tu fais un autres script pour faire ce que tu désire en fonction du label.
Ensuite tu récupère le nouveau pid des le moment ou celui ci change en fonction de l'action faite.

Enfin je pense que c'est une idée pas trop difficile a mettre en place et que ça fait ce que tu désire,
jouana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 18h08   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 13
Points : 13
Merci de ta proposition
Mais je ne sais comment avoir le PID au lancement, le récupérer...
Peux-tu éclairer ma lanterne ??
Merci
helios399 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 18h13   #4
Membre confirmé
 
Homme antoine jouan
Étudiant
Inscription : janvier 2010
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme antoine jouan
Âge : 25
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2010
Messages : 175
Points : 250
Points : 250
ta commande ps -C sc_trans -o pid= qui te renvoie tout les pid de tes deamon tu la parse afin de récupérer le dernier pid en fonction de ce déjà enregistré par exemple va voir du coté de grep et sed pour facilité le parsing du retour de ton ps
jouana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 19h33   #5
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 13
Points : 13
je vois ce que tu veux faire, mais après avoir lancer les différents daemon
Mais pour mémoriser les daemon au lancement comment connaitre son PID dès le départ... ???
Merci
helios399 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 22h07   #6
Rédacteur/Modérateur
 
Avatar de troumad
 
Homme Bernard SIAUD
Enseignant
Inscription : novembre 2003
Messages : 4 400
Détails du profil
Informations personnelles :
Nom : Homme Bernard SIAUD
Âge : 44
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 4 400
Points : 4 950
Points : 4 950
Tu utilises quel environnement de programmation ?
__________________
Modérateur Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels
troumad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 22h24   #7
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 13
Points : 13
Serveur Ubuntu
Apache / PHP 5.3

A priori j'ai trouvé que je pouvais récupérer le PID lors du lancement avec la variable $
Je ne sais pas encore comment faire, mais c'est une piste

Tu connais ?
helios399 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 09h21   #8
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Citation:
Envoyé par helios399 Voir le message
Je veux lancer admettons 50 fois le même programme en daemon, il s'agit d'un encodeur Shoucast 'sc_trans'
Ensuite je dois retrouver chaque encodeur grâce à son PID pour le relancer (ou l'arrêter) à une heure donnée, ex: 05h00 puis un autre à 07h00 etc.
C'est le même programme qui est lancé avec un fichier de configuration différent, mais je ne sais pas comment les identifier un à un.
Quels sont les critères de recherche ??? Par ordre de lancement ? Aléatoirement ?

Sinon, regarde la commande "pgrep nom_daemon" qui en principe te retourne tous les PID associés au programme. Avec les option "-n" (newer) ou "-o" (older) tu peux n'afficher que le plus récent ou le plus ancien... à tester
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 10h20   #9
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 13
Points : 13
Ok merci bien
Je ne peux pas tester aujourd'hui mais dès j'ai trouvé une solution, je reviens la décrire, si cela peux aider les autres Linuxiens
P
helios399 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h35.


 
 
 
 
Partenaires

Hébergement Web