Comment obtenir le pid d'un autre processus en c?
Je suis en utilisant le getpid et obtenir le pid du processus courant. Maintenant, je suis d'essayer d'obtenir le pid d'autres processus en utilisant le nom du processus. Comment obtenir les autres processus de pid?
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main(void)
{
printf("My pid:%d\n", getpid());
return 0;
}
- vérifiez ceci : stackoverflow.com/questions/8166415/...
- En dehors de la réponse ci-dessous d'autres méthode peut être l'écriture de votre propre module de noyau et d'interagir avec elle. <-- (son beaucoup de travail, mais de vous donner l'id). Vous pouvez également exécuter un script shell qui traite ps de commande et d'obtenir le pid. Vous pouvez trouver plus de moyens ..... je suppose !!
InformationsquelleAutor sakthi | 2016-06-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
popen()
avec le programme de commande pidof pour obtenir le pid de n'importe quel programme.Comme ceci:
Edit:
Voir: Comment obtenir le PID d'un processus sous Linux en C
1: le moyen Le plus courant, utilisé par les démons. Stocker le numéro de pid dans un fichier/fichiers. Ensuite, d'autres processus peuvent les trouver facilement.
2: mobiles, frayer un processus enfant exécute
ps
avec un tuyau. Ensuite, vous pouvez analyser la sortie de texte et de trouver votre processus cible.3: Non-mobiles, analyser le /proc/système de fichiers
Souvent, 1 est combiné avec 2 ou 3, afin de vérifier que le pid est correct.