8.30.2006

    ptree on hpux

    いや~、ないんだよね。 今までは、我慢してたが、HPUXでの仕事も増えてきたんで、このサイトを参考にして超適当なScript書いてみますた。

    もしも、使うときは、自己責任でお願いします。 

    やっぱ、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 件のコメント:

    u2aoki さんのコメント...

    同時にこのスクリプト動かすと、/tmp/ptree* ファイルが、削除されない問題発覚。

    めんちいので改良の予定なし・・・