리눅스 pgrep
IT 위키
더 많은 작업
프로세스 이름이나 사용자, 터미널 등의 조건에 맞는 프로세스를 찾아 PID를 출력한다.
- 프로세스 이름은 정규 표현식으로 부분 일치 검색된다.
- pkill과 같은 검색 조건을 사용한다.
- procps-ng 패키지에 포함되어 있다.
- 경로 : /usr/bin/pgrep
$ pgrep [옵션] [패턴]
- -l, --list-name : PID와 함께 프로세스 이름을 출력한다.
- -a, --list-full : PID와 함께 전체 명령행을 출력한다.
- -c, --count : 일치하는 프로세스의 PID 대신 개수를 출력한다.
- -d, --delimiter 구분자 : PID 사이의 구분자를 지정한다. (기본값은 줄바꿈)
- -f, --full : 프로세스 이름뿐 아니라 전체 명령행을 패턴과 비교한다.
- -x, --exact : 프로세스 이름이 패턴과 정확히 일치하는 경우만 출력한다.
- -v, --inverse : 조건에 맞지 않는 프로세스를 출력한다.
- -u, --euid 사용자 : 지정한 유효 사용자(EUID)의 프로세스만 출력한다.
- -U, --uid 사용자 : 지정한 실제 사용자(UID)의 프로세스만 출력한다.
- -G, --group 그룹 : 지정한 실제 그룹(GID)의 프로세스만 출력한다.
- -t, --terminal 터미널 : 지정한 제어 터미널에 연결된 프로세스만 출력한다.
- -P, --parent PPID : 지정한 부모 프로세스의 자식 프로세스만 출력한다.
- -n, --newest / -o, --oldest : 가장 최근에/가장 먼저 시작된 프로세스 하나만 출력한다.
- -w, --lightweight : 스레드 ID(LWP)까지 출력한다.
# sshd 프로세스의 PID와 이름을 출력한다. $ pgrep -l sshd # root 사용자가 실행한 sshd 프로세스만 출력한다. $ pgrep -u root sshd # user1 사용자의 프로세스를 전체 명령행과 함께 출력한다. $ pgrep -a -u user1 # httpd 프로세스의 개수를 출력한다. $ pgrep -c httpd # 이름이 정확히 bash인 프로세스의 PID를 쉼표로 구분하여 출력한다. $ pgrep -x -d, bash
- 특정 사용자의 프로세스를 찾는 -u, 이름을 함께 출력하는 -l 옵션이 자주 출제된다.
- pgrep은 PID를 출력만 하고, 같은 조건으로 시그널을 보내는 명령은 pkill이다.
- pkill 명령어 : 같은 조건의 프로세스에 시그널을 보낸다.
- pidof 명령어 : 실행 중인 프로그램의 PID를 출력한다.
- ps 명령어
- pstree 명령어
- killall 명령어
- 리눅스 프로세스