もしも、使うときは、自己責任でお願いします。
やっぱ、Solarisがラクチンだわ。
-- ptree.sh --
--------------------------------------------------------------------
#!/bin/sh
#
# if you want to use this script, pls remember
# to use it at your own risk.
# ver 1.1
#
TMPDAT=/tmp/ptreedat.$$
TMPDAT2=/tmp/ptreedat2.$$
CREATOR=FALSE
FRT=FALSE
if [ $# -eq 0 ]; then
UNIX95=1 ps -efH
exit 0
elif [ $# -eq 1 ]; then
TGP=$1
elif [ $# -eq 2 ]; then
case "$2" in
-t) FRT=TRUE
;;
*) echo "Usage: ptree.sh [-t]"
exit 1
;;
esac
else
echo "Usage: ptree.sh [-t]"
exit 1
fi
if [ ! -f $TMPDAT ]; then
CREATOR=TRUE
UNIX95=1 ps -efH> $TMPDAT
fi
grep $1 $TMPDAT > $TMPDAT2
while read LINE
do
MYPID=$(echo $LINE | awk 'BEGIN {getline; print $2}')
MYPPID=$(echo $LINE | awk 'BEGIN {getline; print $3}')
if [ "$MYPPID" = "1" ]; then
FRT=TRUE
fi
if [ "$MYPID" = "$1" ] && [ "$FRT" = "TRUE" ]; then
echo $LINE
elif [ "$MYPID" = "$1" ]; then
$0 $MYPPID
break
elif [ "$MYPPID" = "$1" ] && [ "$FRT" = "TRUE" ]; then
$0 $MYPID -t
fi
done < $TMPDAT2
rm $TMPDAT2
if [ "$CREATOR" = "TRUE" ]; then
rm $TMPDAT
fi
exit 0
--------------------------------------------------------------------
1 件のコメント:
同時にこのスクリプト動かすと、/tmp/ptree* ファイルが、削除されない問題発覚。
めんちいので改良の予定なし・・・
コメントを投稿