我如何理解脚本的这一部分?调用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
答案 0 :(得分:1)
它只是使用ps的-C选项。比较
ps h -fwC ifmFuseHandler
与
ps h -fw
在一个shell中。
答案 1 :(得分:1)
PID=`ps h -fwC ifmFuseHandler | awk '/ifmFuseHandler/ { print$2 }'`
为您提供ifmFuseHandler的PID
if [ "x$PID" = x ]; then
测试是否返回PID;如果没有,则启动ifmFuseHandler,否则打印出已经运行的消息
我自己,我会跑
PID = `ps -el|grep -v grep|grep ifmFuseHandler|awk '{print $2}'`