J'essaie d'utiliser pidof ou pgrep pour pouvoir envoyer un HUP à un processus dans mon système. Le problème est que je veux seulement tuer le processus avec un paramètre précis.
Ceci est la sortie de 'ps awx'
657 ? S 0:00 processname software
658 ? S 0:00 processname demo
659 ? S 0:00 processname test
En faisant l'une de ces actions:
pidof processname
pgrep processname
Vous obtenez la liste de tous les processus commençant par nom de processus, mais je voudrais faire quelque chose comme:
pidof processname test
pgrep processname test
Pour récupérer uniquement le PID dont j'ai besoin (dans cet exemple, ce serait 659)
MISE À JOUR
En utilisant le drapeau -f sur pgrep fait juste ce que je voulais, en faisant:
pgrep -f "processname test"
Vous obtiendrez la bonne réponse.
-f
parce que vous voulez faire correspondre sur la ligne de commande complète. Notez que pgrep fonctionne sur les expressions régulières, vous pouvez donc également effectuer des correspondances relativement complexes.