2017-03-20 3 views
0

J'ai un processus gitlab sous le nom d'utilisateur gitlab-+. Je voudrais tuer tous les processus de l'utilisateur.pkill wild card dans le nom d'utilisateur

Lorsque je tente:

pkill -9 -u gitlab-+ 

Il revient avec le nom d'utilisateur non valide. J'ai essayé

pkill -9 -u gitlab* with the same result. How can I specify a wildcard in the `-u` argument for `pkill` 

Répondre

0

Je ne pense pas que vous pouvez utiliser sauvage-char en dans le drapeau efficace ID utilisateur pour pkill ... ressemble à seulement coma liste séparée des UID ou usrnames. Vous pourriez être en mesure de contourner le problème avec quelque chose comme ceci:

pkill -9 -u $(awk -F: '/^gitlab.*/ {printf("%s,",$1)}' < /etc/passwd) 
+0

Je vois le dernier "," avec rien derrière cela fait un gâchis ... vous aurez à l'enlever sinon vous allez tuer des choses indésirables pkill -9 -u $ (awk -F: '/^gitlab.*/{printf ("% s,", $ 1)} ' louigi600

0

Vous pouvez utiliser l'ID utilisateur pour tuer le processus. Obtenez l'ID utilisateur à savoir un nombre entier unique de l'utilisateur en exécutant:

id <username> 

Et puis tuez tous les processus en utilisant la même commande, utilisez userid à savoir le nombre entier au lieu de nom d'utilisateur.

Espérons que cela aide.