SW/리눅스

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

얇은생각 2022. 6. 18. 07:30
반응형

pidof는 실행 중인 프로그램의 프로세스 ID를 찾을 수 있는 명령줄 유틸리티입니다.

Linux pidof 명령을 사용하는 방법에 대해 설명합니다.

 

 

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

 

 

pidof 명령을 사용하는 방법

Red Hat 기반 분포와 Debian 기반 분포에 대한 pidof의 구현이 다릅니다. Red Hat 배포의 경우 pidof 명령은 procps-ng 패키지의 일부이며 Debian의 경우 sysvinit-utils의 일부입니다. 두 구현에 공통적인 옵션을 살펴보겠습니다 

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

pidof [OPTIONS] PROGRAM_NAME

 

 

명령은 0개 이상의 이름을 인수로 허용하지만 일반적으로 하나의 이름만 pidof에 전달합니다. 

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

pidof sshd

# 4382 4368 811

 

 

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

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

검색 중인 프로그램의 PID만 표시되도록 하려면 프로그램의 전체 경로 이름을 인수로 사용합니다. 예를 들어, 두 개의 다른 디렉터리에 동일한 이름을 가진 두 개의 실행 중인 프로그램이 있으면 실행 중인 두 프로그램의 PID가 표시됩니다. 

기본적으로 실행 중인 일치하는 프로그램의 모든 PID가 표시됩니다. pidof가 하나의 PID만 표시하도록 하려면 -s 옵션을 사용합니다.

pidof -s program_name

 

 

-o 옵션을 사용하면 명령 출력에서 PID가 지정된 프로세스를 제외할 수 있습니다.

pidof -o pid program_name

 

 

pidof가 -o 옵션과 함께 호출된 경우 호출 셸 또는 셸 스크립트를 나타내는 %PPID라는 특수 PID를 사용할 수 있습니다.

동일한 루트 디렉터리로 실행 중인 프로세스의 PID만 반환하려면 -c 옵션을 사용하십시오.

이 옵션은 pidof가 루트 또는 sudo 사용자로 실행되는 경우에만 작동합니다.

pidof -c pid program_name

 

 

 

pidof 명령의 사용 예

다음은 pidof 명령을 kill 명령과 함께 사용하여 프로그램을 종료하는 방법을 보여 주는 예입니다. 

Firefox 브라우저가 응답하지 않아 Firefox 프로세스를 중단해야 합니다. 먼저, 피도프를 사용하여 PID를 찾습니다.

pidof firefox

# 2551 2514 1963 1856 1771

 

 

 

명령은 모든 Firefox 프로세스를 출력합니다.

Firefox가 PID를 처리한다는 것을 알게 되면 SEGTERM 신호를 전송하여 모든 PID를 종료하십시오.

sudo kill -9 2551 2514 1963 1856 1771

 

 

또한 명령 대체 식 $(...) 를 사용하여 한 번의 명령으로 프로그램을 종료할 수도 있습니다.

sudo kill -9 $(pidof firefox)

 

 

PIDof 명령은 실행 중인 특정 프로그램의 PID를 알아내는 데 사용됩니다. 

pidof는 옵션이 많지 않은 간단한 명령입니다. 일반적으로 검색 중인 프로그램 이름으로만 pidof를 호출합니다.

반응형