Pourquoi ne puis-je pas intégrer un processus?

12
$ ps aux | grep -i ssh
USER      4364  0.0  0.0   9004  1032 ?        Ss   12:20   0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-IP-ADDRESS

$ pgrep localhost:4000

Pourquoi ça ne marche pas?

LanceBaynes
la source

Réponses:

25

Par défaut, pgrep(1)ne correspondra qu'au nom du processus. Si vous souhaitez faire correspondre la ligne de commande complète, utilisez l' -foption:

$ pgrep -f localhost:4000
camh
la source
8

Jetez un œil à la page de manuel de pgrep . Ce n'est pas seulement un alias pour exécuter ps avec un tas de colonnes, puis greper la sortie de texte. Il recherche en fait des champs spécifiques pour les valeurs. Par défaut, il ne regarde que le nom du processus lors d'une recherche et renvoie le PID . Vous pouvez rechercher la ligne de commande complète en ajoutant l' -foption. Vous pouvez également rechercher plusieurs autres champs qui pourraient être utiles, tels que la correspondance du terminal sur lequel un processus est en cours d'exécution ou l'ID de groupe.

Caleb
la source