pid를 가져오고 cmd 이름, 네트워크 연결, 프로세스 트리, 상위/조상/하위를 제공하는 스크립트

pid를 가져오고 cmd 이름, 네트워크 연결, 프로세스 트리, 상위/조상/하위를 제공하는 스크립트

알았어, 그럼 어쩌지?

pid를 인수로 사용하고 명령 이름, 프로세스와 관련된 다양한 네트워크 연결을 제공하고 최대 3개의 상위 프로세스와 최대 3세대의 하위 프로세스에 대한 정보도 제공하는 스크립트를 작성해야 합니다.

나는 이 질문에 대한 답을 원하지는 않지만 이 작업을 수행하기 위해 올바른 길을 가는 최선의 방법에 대한 지침을 원합니다.

이것이 제가 시작한 일입니다:

#!/bin/bash
#get pid from user
PID=$1
#echo pid and find a way to describe process to user
echo $PID #whatever it is = #whatever the command name is
#network portion
sudo netstat -p grep $PID
#this return information related to the process itself
ps -ef f|egrep "(UID|$PID)"

코드의 마지막 줄은 나에게 최소한 가치 있는 것을 반환합니다. 프로세스 관련 정보, 트리 계층 구조 등을 얻을 수 있습니다.

나는 기술적인 지식이 많지 않기 때문에 이 코드가 이 작업에 적합하지 않거나 사용할 수 없는 것처럼 보이는지 알고 있습니다. 처음부터 시작해서 다른 아이디어를 생각해내야 한다면 그렇게 할 것입니다. 도움이나 안내를 주시면 대단히 감사하겠습니다.

답변1

다음을 사용하여 상위 프로세스의 PID를 얻을 수 있습니다.

PID=1234
ps -o ppid --no-headers -p "$PID"

또는

awk '/^PPid:/ { print $2 }' /proc/$PID/status

변수에 넣어주시면 됩니다

PPID="$(awk '/^PPid:/ { print $2 }' /proc/$PID/status)"

관련 정보