0

スクリプトのこの部分をどのように理解できますか? 呼び出すと、次のps h -fwC ifmFuseHandler出力が得られます。

DRBimg:/tmp # ps h -fwC ifmFuseHandler
insite1  29149     1  0 11:57 ?        Ssl    0:00 ifmFuseHandler -o allow_other /opt/insiteone/fuse-mount

特に興味があるのは、ifmFuseHandler がどのような状態で開始されるかです。

完全なスクリプトは次のとおりです (一部の抜粋形式)。

 # START IFM
        if [ $MYTYPE = "ifmFuseHandler" -o $MYTYPE = "ALL" ]
        then
            # IF A PROXY
            if [ $PROXY -eq 0 -a $DOIFM -eq 1 ]
            then
                # Make sure the fuse module is loaded
                FUSE=`lsmod | grep fuse`
                ret=$?
                if [ $ret -ne 0 ]
                then
                        /sbin/modprobe fuse 2>/dev/null
                fi
                FOUND=1
                #PID=`df | awk '/ifmFuseHandler/ {print $1}'`
                #PID=`ps -ef | grep -v 'awk' | awk '/ifmFuseHandler/ { print$2 }'`
                PID=`ps h -fwC ifmFuseHandler | awk '/ifmFuseHandler/ { print$2 }'`
                if [ "x$PID" = x ]; then
                    msg "Starting ifmFuseHandler..." $MSG_ALL
                    su - $USER -c "cd $DIR_INDEX;ifmFuseHandler  $IFM_SINGLE_THREAD -o allow_other $IFM_MOUNT"
                else
                    msg "ifmFuseHandler already running! PID=$PID" $MSG_ALL
                fi
            fi
        fi
4

2 に答える 2

1

ps の -C オプションを使用しているだけです。比較

ps h -fwC ifmFuseHandler

ps h -fw

シェルで。

于 2013-08-08T16:37:55.973 に答える