Les Allergies
Alimentaires
Posez votre question Signaler

Stocker PID d'un processus / -- C -- [Résolu]

InAme19 496Messages postés 13 septembre 2008Date d'inscription 22 mars 2011Dernière intervention - Dernière réponse le 4 févr. 2010 à 15:26
Bonjour à tous
je programme en C et j'ai une petite question:
j'aimerai savoir comment faire pour récupérer le PID d'un processus que l'on vient juste de lancer.
J'aimerai stocker ce PID dans un fichier texte par exemple.
Bien sûr je peux récupérer manuellement le PID par un ps -e lié d'un grep mais j'aimerai automatiser cette tâche pour pouvoir envoyer un signal au processus juste après son lancement.
merci d'avance pour vos réponses.
Lire la suite 

Stocker PID d'un processus / -- C »

3 réponses
Réponse
+0
moins plus
j'avais pensé à faire cela:

int main()
{
int test = system("ps -C programme -o pid");

printf("pid : %d \n", test);

return 0;
}

mais cela m'affiche:
8303
pid : 0

donc le pid stocké dans test n'est pas 8303 alors que c'est ce que renvoie la commande "ps -C programme -o pid"
Ajouter un commentaire
Réponse
+0
moins plus
ah oui, normal, c'est la fonction system qui renvoie 0 pour dire que cela s'est bien passé.

mais alors comment stocker le résultat de la commande?
hum peut être si je met le résultat dans un fichier... j'essaye ça :p
Ajouter un commentaire
Réponse
+0
moins plus
oui c'est ça =)

j'ai rajouté ça à ma commande : > test2.txt pour mettre le résultat dans un fichier
ce qui donne:
int main()
{
int test = system("ps -C programme -o pid > test2.txt");

printf("pid : %d \n", test);

return 0;
}

ainsi je peux travailler directement sur le fichier qui contient mon PID ^^
Ajouter un commentaire
Ce document intitulé « stocker PID d'un processus / -- C -- » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?