pkill подстановочный знак в имени пользователя

У меня процесс gitlab работает под именем пользователя gitlab-+, Я хотел бы убить все процессы от пользователя.

Когда я пытаюсь:

pkill -9 -u gitlab-+

Возвращается с неверным именем пользователя. Я старался

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

2 ответа

Я не думаю, что вы можете использовать wild-char in в флаге эффективного идентификатора пользователя для pkill ... выглядит как разделенный запятыми список UID или имен пользователей. Возможно, вы сможете обойти проблему с помощью чего-то вроде этого:

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

Вы можете использовать идентификатор пользователя, чтобы убить процесс. Получить идентификатор пользователя, то есть уникальное целое число пользователя, запустив:

id <username>

А затем уничтожьте все процессы с помощью одной и той же команды, используйте идентификатор пользователя, то есть целое число вместо имени пользователя.

Надеюсь это поможет.

Другие вопросы по тегам