ps에 표시된 사용자가 존재하지 않습니다.

ps에 표시된 사용자가 존재하지 않습니다.

이건 이상해:

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

그러나 gitlab-+사용자가 존재하지 않습니다.

» 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

왜 그럴 수 있습니까?

ps모든 항목에 대해 사용자 이름 대신 사용자 ID를 표시하도록 어떻게 알 수 있나요 ?

답변1

n매뉴얼 페이지에 설명된 매개변수를 사용하십시오 .

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

예를 들어

ps -ef n

NB 앞에 대시가 아닌 공백이 있어야 합니다.n

답변2

UID 필드 끝에 있는 + 기호는 "사용자 이름이 8자를 초과하여 여기에 맞지 않습니다"를 의미합니다.

역사적인 이유로 ps -ef8자보다 긴 사용자 이름이 일반화되었을 때에도 출력의 필드 너비는 그대로 유지되었습니다. 대부분 출력을 구문 분석하는 스크립트가 많고 필드 너비가 다음과 같은 경우 알 수 없는 방식으로 실패하기 때문입니다. 변화.

관련 정보