pgrep
프로세스 정보를 출력하는 ps와 원하는 정보를 추출하는 grep을 합한 명령어
메인 옵션
pgrep -l or prep --list-name
PID와 프로세스 이름을 출력
pgrep -f or pgrep --full
전체 프로세스 이름을 조건 매칭에 이용
pgrep -g or pgrep --pgroup
지정한 GID에 해당하는 PID출력
pgrep -u or pgrep --euid
사용자 ID(effective ID)에 해당하는 PID를 출력
pgrep -U
사용자 ID(Real ID)에 해당하는 PID를 출력
여기서 REAL ID와 effective ID의 차이는 다음과 같다.
구글을 검색해 보면
Real user id is the user that spawned the process.
= 실제 사용자 ID는 프로세스를 생성한 사용자라는 의미이다.
Effective user id is the user determined by the setuid bit on the binary being executed
= 유효 사용자 ID는 실행 중인 바이너리의 setuid 비트에 의해 결정되는 사용자라는 의미이다.
/proc/
프로세스와 시스템 정보를 계층적인 파일 구조로 관리하는 특수한 파일 시스템
/proc/PID
프로세스 관련 정보 내용
/proc/PID/cmdline
프로세스를 시작하는 명령어
/proc/PID/cwd
프로세스의 현재 작업 디렉터리에 대한 심볼릭 링크
/proc/PID/environ
프로세스와 관련된 환경변수의 이름과 값
/proc/PID/exe
원본 실행 파일에 대한 심볼릭 링크
/proc/PID/fd
오픈된 파일 기술자에 대한 심볼릭 링크를 포함하는 디렉터리
/proc/PID/maps
힙, 스택과 같은 볼륨들에 대한 정보를 포함하는 텍스트 파일
/proc/PID/mem
프로세스의 가상 메모리를 보여주는 바이너리로 ptrace를 통해 확인가능
/proc/PID/status
프로세스의 실행 상태, 메모리 사용 등 프로세스에 대한 기본 정보
which
특정 명령어의 절대경로를 출력하는 명령어
ps
현재 실행 중인 프로세스의 목록을 출력하는 명령어
ps -e
모든 프로세스의 목록 출력
ps -f
UID, PID 등 전체정보를 출력
ps -l
UID, PID, 프로세스 플래그, 프로세스 상태, 우선순위 등 자세한 정보를 list형식으로 출력
ps -p
특정 PID의 프로세스 정보를 출력
ps -u
특정 UID(effective ID)의 프로세스 정보를 출력
ps -U
특정 UID(real ID)의 프로세스 정보를 출력
ps -o
직접 정의한 형식으로 정보를 출력
ps -p pid= PID만 출력
ps -p comm= 프로그램 이름만 출력