특정 프로세스 ID에서 상위/하위 프로세스 ID 가져오기

특정 프로세스 ID에서 상위/하위 프로세스 ID 가져오기

프로세스 ID와 하위, 상위 및 조부모 이름을 기반으로 프로세스 이름을 얻으려고 합니다.

프로세스 ID를 얻는 데 사용한 이름 ps -eo이지만 해당 하위, 부모 또는 조부모는 아닙니다.

답변1

이 시도:

pstree -pls your_pid

나무- 프로세스 트리를 표시합니다.

  • -피PID를 표시합니다. PID는 각 프로세스 이름 뒤의 괄호 안에 십진수로 표시됩니다.

  • -에스지정된 프로세스의 상위 프로세스를 표시합니다.

  • -엘긴 줄을 표시합니다. 기본적으로 행은 COLUMNS 환경 변수 또는 표시 너비로 잘립니다.

답변2

프로세스 이름을 얻으려면(pid가 주어짐):

pid=42
ps -o comm= -p $pid

특정 pid에 대한 하위 프로세스의 이름을 얻으려면(Linux procps):

ps -o comm= --ppid $pid

주어진 pid(POSIX)에 대한 하위 프로세스의 이름을 얻으려면:

for cpid in $(ps -eo pid=,ppid= | awk -v pid=$pid '$2==pid{print $1}'); do ps -o comm= -p $cpid; done

주어진 pid에 대한 상위 프로세스의 이름을 얻으려면:

ps -o comm= -p $(ps -o ppid= -p $pid)

주어진 pid에 대한 상위 프로세스의 이름을 얻으려면(아직 init 시스템에 접근할 수 없다고 가정할 때):

ps -o comm= -p $(ps -o ppid= -p $(ps -o ppid= -p $pid))

답변3

다음 명령을 사용하여 하위 프로세스 ID 목록을 가져올 수 있습니다.

pgrep -P $parent_pid

~에 귀속됨이 답변.

관련 정보