【Linux】 サンプルシェルスクリプト2007年10月01日 08:23


物忘れがひどく?なった私のメモです。


○ シェルスクリプト プロセスの停止(kill) 

    #!/usr/bin/sh
    ######################################################################
    #
    #  プロセスを停止(kill)シェルスクリプト
    #
    #        起動されているプロセスを停止(kill)する
    #
    #        proc_kill.sh
    #
    #
    #     Ver  Date        Author   Comment
    #     0.00 yyyy/mm/dd  Name     
    #
    ######################################################################
    #
    ### 停止対象プロセス名 ###########################
                                    # 停止したいプロセス情報
    PMAX=6                      # 停止したいプロセスの個数
    PNAME[1]="main_proc"        #   ※  ps コマンドで表示されるプロセス名を記述
    PNAME[2]="sub_proc1"        #    停止したいプロセスが親子関係にある場合は
    PNAME[3]="sub_proc2"        #    親プロセスを先に記述
    PNAME[4]="sub_proc3"        #    たまに、子プロセスが停止すると親プロセスが監視
                                    #    していて再起動される場合がある。
    PNAME[5]="child_proc1"
    PNAME[6]="child_proc2"
    #
    ### シェルスクリプト処理 #########################
    i=1
    while [ ${i} -le ${PMAX} ]
    do
                                    # 停止対象プロセスが存在するかチェック
         PEXIST=`/bin/ps -ef | /bin/grep ${PNAME[${i}]} | /bin/grep -v grep | /usr/bin/wc -l`
         if [ ${PEXIST} -ne 0 ]; then
                                    # 同プロセス名全て停止(Kill)
            for PID in `/bin/ps -ef | /bin/grep ${PNAME[${i}]} | /bin/grep -v grep | /bin/awk '{print $2}'`
            do
                /bin/kill -9 ${PID} 1> /dev/null 2>&1
            done
            sleep 1                 # 無くても・・・
        fi
        let i=i+1
    done
    exit
    
    

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://inari.asablo.jp/blog/2007/10/31/1880821/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。