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)"

おすすめ記事