Obtenez de l'ID de processus par nom
Je voudrais obtenir un ID de processus donné son nom à la sous Linux.
Est-il un moyen simple de faire cela ?
Je n'ai rien trouvé sur le C++, qui pourrait être facilement utilisable !
Dépend de votre définition de "facilement utilisable".
Que faire si il n'y a plus d'une instance de l'exécutable en cours d'exécution?
Vous pouvez toujours regarder les sources de
Oui, c'est très simple: il suffit de scanner
Pouvez-vous exec
Que faire si il n'y a plus d'une instance de l'exécutable en cours d'exécution?
Vous pouvez toujours regarder les sources de
ps
, top
(à voir d'où elles tirent leur liste de processus) ou encore mieux, killall
(pour voir à quoi ça ressemble en place des Pid pour le nom que vous lui donnez).Oui, c'est très simple: il suffit de scanner
/proc/XXX/
où XXX
sont tous les PID. Comment le faire vous pouvez le voir dans les sources de pgrep
. J'ai fait quelque chose comme ça dans mon démons (pour être sûr que le démon de course unique).Pouvez-vous exec
pidof
? en.wikipedia.org/wiki/PidofOriginalL'auteur Mike Telson | 2013-03-28
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les informations dans
/proc
.Ici en est un exemple.
OriginalL'auteur Johnny Mnemonic
Si vous allez pour "facilement utilisable',
est le chemin à parcourir.
Ouais, c'est moche, je sais. C'est beaucoup mieux d'aller lire pidof code source.
ce qui était incorrect avec votre première réponse? C'est maintenant laid C (code retiré mon upvote).
Quel était le problème est le fait que pidof ne renvoie pas le pid, il imprime le pid de la sortie standard (et renvoie 0 en cas de succès).
vous pouvez l'utiliser, pourquoi pas? La bonne façon de le faire est, bien sûr, par la lecture de proc (que l'on peut apprendre à partir de pidof code source. Mais il est certainement pas "facilement utilisable'.
Ouais je peux ! Il n'a pas compris avec la première version de cette réponse, mais avec le plein code maintenant, je comprends. Merci ! (quand j'ai eu 15 de la réputation que je vais upvote)
OriginalL'auteur shakurov