실행 중인 프로세스의 UID/GID를 확인하는 방법

실행 중인 프로세스의 UID/GID를 확인하는 방법

실행 중인 프로세스의 UID/GID를 검색하는 방법이 있습니까? 현재 내가 아는 유일한 방법은 htop입니다. 하지만 저는 타사 도구에 의존하고 싶지 않으며 내장된 Unix 명령을 사용하는 것을 선호합니다. 유용한 단일 라이너를 추천해 주실 수 있나요?

이것은 내 호기심을 만족시키지 못합니다.

실행 중인 프로세스의 GID를 프로그래밍 방식으로 검색하는 방법

상단에는 그룹이 아닌 사용자만 표시됩니다.

답변1

$ stat -c "%u %g" /proc/$pid/
1000 1000

또는

$ egrep "^(U|G)id" /proc/$pid/status
Uid:    1000    1000    1000    1000
Gid:    1000    1000    1000    1000

아니면 그냥 bash 내장 기능을 사용하세요:

$ while read -r line;do [ "${line:1:2}" = "id" ] && echo $line;done < /proc/17359/status 
Pid: 17359
Uid: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000

답변2

또는 *BSD 시스템을 가정합니다( ps이식성이 없고 OpenBSD는 /proc많은 버전에서 더 이상 사용되지 않으므로)

ps -o uid,gid -p ...

관련 정보