El usuario mostrado en ps no existe

El usuario mostrado en ps no existe

Esto es extraño:

» ps -ef | grep gitlab
gitlab-+ 19663  4237  0 06:45 ?        00:00:00 postgres: gitlab gitlabhq_production [local] idle

Pero el gitlab-+usuario no existe:

» cat /etc/passwd | grep gitlab
gitlab-www:x:998:997::/var/opt/gitlab/nginx:/bin/false
git:x:997:996::/var/opt/gitlab:/bin/sh
gitlab-redis:x:996:995::/var/opt/gitlab/redis:/bin/false
gitlab-psql:x:995:994::/var/opt/gitlab/postgresql:/bin/sh
gitlab-prometheus:x:994:993::/var/opt/gitlab/prometheus:/bin/sh

¿Por qué podría ser eso?

¿Cómo puedo indicar psque me muestren la identificación de usuario en lugar del nombre de usuario para todas las entradas?

Respuesta1

Utilice nel parámetro, descrito en la página del manual:

n      Numeric output for WCHAN and USER (including all types of UID and GID)

p.ej

ps -ef n

NB: debería haber espacio, no un guión antesn

Respuesta2

El signo + al final del campo UID simplemente significa "el nombre de usuario tiene más de 8 caracteres y no cabe aquí".

Por razones históricas, los anchos de los campos de ps -efsalida se han mantenido como están, incluso cuando los nombres de usuario de más de 8 caracteres se han vuelto comunes: principalmente porque hay muchos scripts que analizan su salida y fallarían de manera misteriosa si los anchos de los campos cambiar.

información relacionada