SW/리눅스

Linux : Pgrep 명령어, 예제, 사용 방법

얇은생각 2022. 7. 9. 07:30
반응형

이 자료에서는 Linux pgrep 명령의 기본 사항에 대해 설명합니다.

pgrep은 지정된 기준에 따라 실행 중인 프로그램의 프로세스 ID를 찾을 수 있는 명령줄 유틸리티입니다. 전체 또는 부분 프로세스 이름, 프로세스를 실행하는 사용자 또는 기타 특성이 될 수 있습니다.

pgrep 명령은 거의 모든 Linux 배포에 사전 설치된 procps(또는 procps-ng) 패키지의 일부입니다.

 

 

Linux : Pgrep 명령어, 예제, 사용 방법

 

 

pgrep 명령을 사용하는 방법을 참조

pgrep 명령의 구문은 다음과 같습니다.

pgrep [OPTIONS] <PATTERN>

 

 

일치하는 <PATTERN>은 확장 정규식을 사용하여 지정됩니다.

옵션 없이 호출되면 pgrep은 지정된 이름과 일치하는 실행 중인 모든 프로그램의 PID를 표시합니다. 예를 들어 SSH 서버의 PID를 찾으려면 다음을 실행합니다.

pgrep ssh

# 1039
# 2257
# 6850
# 31279

 

 

"ssh"와 일치하는 이름의 프로세스가 실행 중인 경우 PID가 화면에 표시됩니다. 일치하는 항목이 없으면 출력이 비어 있는 것입니다.

하나 이상의 실행 중인 프로세스가 요청된 이름과 일치하면 명령이 0을 반환합니다. 그렇지 않으면 종료 코드는 1입니다. 셸 스크립트를 작성할 때 유용할 수 있습니다.

일치하는 프로세스에 신호를 전송하려면 pkill 을 사용하십시오. 이 명령은 pkill을 감싸고 있으며 동일한 옵션과 패턴 일치를 사용합니다.

pgrep은 일치하는 각 프로세스 ID를 새 줄로 인쇄합니다. -d 옵션을 사용하면 다른 구분 기호를 지정할 수 있습니다. 예를 들어 공백을 구분 기호로 사용하려면 다음을 입력하십시오.

pgrep ssh -d' '

# 1039 2257 6850 31279

 

 

-l 옵션은 pgrep에게 프로세스 이름을 ID와 함께 표시하도록 지시합니다.

pgrep ssh -l

# 1039 sshd
# 2257 ssh-agent
# 6850 ssh
# 31279 ssh-agent

 

 

pgrep은 정규식을 사용하여 검색 작업을 수행하며 이름에 "pgrep"가 포함된 모든 프로세스를 나열합니다.

이름이 검색 패턴과 정확히 일치하는 프로세스만 일치시키려면 다음을 사용합니다.

pgrep '^ssh$' -l

# 6850 ssh

 

 

캐럿(^) 문자는 문자열의 시작 부분에서 일치하고 달러는 끝에 일치합니다.

기본적으로 pgrep은 프로세스 이름을 기준으로만 일치합니다. -f 옵션을 사용할 경우 명령은 전체 인수 목록을 기준으로 일치시킵니다.

pgrep -f ssh

 

 

지정된 사용자가 실행 중인 프로세스를 표시하도록 pgrep에 지시하려면 -u 옵션을 사용합니다.

pgrep -u root

 

 

여러 명의 사용자를 지정하려면 해당 사용자의 이름을 쉼표로 구분하십시오.

pgrep -u root,mark

 

 

옵션과 검색 패턴을 결합할 수도 있습니다. 예를 들어, 사용자 "mark"에서 실행되고 이름에 "gnome"이 포함된 모든 프로세스와 프로세스 이름을 인쇄하려면 다음과 같이 입력합니다.

pgrep -l -u mark gnome

 

 

가장 최근에(가장 오래된) 프로세스 또는 가장 최근에(가장 최근에) 시작된 프로세스만 표시하려면 -n(최신) 또는 -o(가장 오래된 프로세스) 옵션을 사용합니다.

예를 들어, 사용자 "mark"에 의해 시작된 최신 프로세스를 찾으려면 다음을 입력합니다.

pgrep -lnu mark

 

 

위의 예에서 볼 수 있듯이 공백 없이 단일 대시로 옵션을 결합할 수도 있습니다. 

일치를 되돌리려면, 즉 지정된 조건과 일치하지 않는 프로세스만 표시하려면 -v 옵션을 사용하십시오. 다음 명령은 사용자 "표시"에 의해 실행되지 않는 모든 프로세스를 인쇄합니다.

pgrep -v -u mark

 

 

-c 옵션은 일치하는 프로세스 수만 인쇄하도록 pgrep에 알려줍니다. 예를 들어, 사용자 "mark"로 실행되는 프로세스를 찾으려면 다음을 입력합니다.

pgrep -c -u mark

 

 

pgrep 명령은 다른 기준에 따라 실행 중인 프로그램의 PID를 알아내는 데 사용됩니다.

pgrep 명령에 대한 자세한 내용은 pgrep man 페이지를 방문하거나 터미널에 man pgrep을 입력하십시오.

반응형