개요

이 빠른 튜토리얼에서,당신은 배우려고하는 방법을 찾기 위해 프로세스는 부모 프로세스 ID 에서 리눅스 명령줄에서.

또한ps명령을 사용하여 주어진 상위 프로세스 ID 의 자식을 찾는 방법을 배우게됩니다.

우리는 또한 커버하는 방법을 출력한 완전한 프로세스의 부모 프로세스를 사용하는pstree명령입니다. 프로세스를 죽일 때 필요할 수있는 주어진 부모의 자녀,신분증 및 이름을 모두 식별하고 싶을 때 매우 도움이됩니다.,

부모 프로세스 ID 환경 변수를

부모 프로세스 ID 현재의 컨텍스트에 노출되는 환경 변수입니다. 값을 보려면 에코 아웃 할 수 있습니다.

echo $PPID

경우,예를 들어,당신은SSH‘d 으로 리눅스는 서버의 값$PPID환경 변수의 프로세스 IDSSH프로세스.

환경 변수는 프로세스 ID 만 출력합니다., 무엇을 보면 부모 프로세스가 우리가 사용할 수 있는ps명령으로$PPID환경 변수입니다.

ps -e | grep $PPID

을 찾아 부모 프로세스 ID 를 실행 프로세스의

을 결정하는 부모 프로세스의 특정 프로세스,우리가 사용하는ps명령입니다.

ps -o ppid= -p 9801

출력은 상위 프로세스 ID 자체 만 포함합니다. ps명령의 출력을 사용하여 프로세스의 이름을 결정할 수 있습니다.,

ps -e | grep 9801
2029 ? 00:00:14 apache2

나열 자식 프로세스의 부모 프로세스 ID

가진 부모 프로세스 ID 우리는 조회 할 수 있습의 모든 자식 프로세스를 사용하의 부모를 사용하는pgrep명령입니다.

pgrep -laP $PPID

에 대한 일반적인 SSH 부모의 출력으로 목록을 다음과 같은 과정

30797 -bash30798 /usr/lib/openssh/sftp-server

전시 프로세스 트리

또 다른 유용한 유틸리티는pstree명령입니다. 이 명령은 부모 프로세스 ID 의 자식 프로세스 트리를 출력합니다., 예를 들어 현재 부모 프로세스에서 자식 프로세스의 트리를 표시하려면 다음 명령을 실행합니다.

pstree $PPID
sshd─┬─bash───pstree └─sftp-server

위의 예에서,우리가 볼 수 있는sshd프로세스가 우리의 현재 부모 프로세스 ID(PPID),그리고 그것은 두 개의 자식 프로세스입니다. 하위 프로세스는bashsftp-server입니다.

우리는 또한 볼 수 있습니다bash프로세스는 자신의 아이를,pstree명령을 우리는 단지 실행됩니다.,

pstree명령은 트리의 각 프로세스의 프로세스 ID 를 출력 할 수도 있습니다. 프로세스 Id 를 출력하려면-p플래그를 사용합니다. 다음은 아파치 웹 서버에 대한 프로세스 트리의 예입니다.나는 이것을 할 수 없다.