프로세스 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))