129 lines
3.7 KiB
Bash
129 lines
3.7 KiB
Bash
#!/bin/bash
|
|
|
|
# ========= 0. 获取脚本所在路径的上一层,设置为 FEP_ENV =========
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
FEP_ENV="$(dirname "$SCRIPT_DIR")"
|
|
export FEP_ENV
|
|
|
|
# ========= 1. 初始化软连接 =========
|
|
TEMP_LINK_CREATED=0
|
|
if [ ! -L "/FeProject" ]; then
|
|
if [ ! -e "/FeProject" ]; then
|
|
sudo ln -s "$FEP_ENV" /FeProject
|
|
TEMP_LINK_CREATED=1
|
|
echo "Temporary symlink /FeProject created."
|
|
else
|
|
echo "/FeProject exists but is not a symlink. Please check manually."
|
|
fi
|
|
fi
|
|
|
|
if [ -z "$FEP_ENV" ]; then
|
|
echo "Error: FEP_ENV is not set. Please set it first."
|
|
exit 1
|
|
fi
|
|
|
|
check_log_file()
|
|
{
|
|
if [ -n "$1" ] ; then
|
|
FILE_SIZE=0
|
|
FILE_SIZE=`du $1 | awk '{print $1}'`
|
|
if [ $FILE_SIZE -ge 5120 ]
|
|
then
|
|
if [ -f "$1".3 ]; then
|
|
rm -f "$1".3
|
|
fi
|
|
if [ -f "$1".2 ]; then
|
|
mv "$1".2 "$1".3
|
|
fi
|
|
if [ -f "$1".1 ]; then
|
|
mv "$1".1 "$1".2
|
|
fi
|
|
mv "$1" "$1".1
|
|
fi
|
|
fi
|
|
}
|
|
|
|
LOGFILE="$FEP_ENV/dat/log/start_fe.log"
|
|
check_log_file $LOGFILE
|
|
|
|
echo "" ; echo ""
|
|
echo "****** `date "+%F %R:%S"` Stop Processes ******"
|
|
echo "" >>"$LOGFILE"
|
|
echo "" >>"$LOGFILE"
|
|
echo "****** `date "+%F %R:%S"` Stop Processes ******" >>"$LOGFILE"
|
|
|
|
RUNTIME_CF_FILE="$FEP_ENV/etc/runtime.cf"
|
|
|
|
#cat $RUNTIME_CF_FILE |tac > /tmp/runtime.cf
|
|
sed '1!G;h;$!d' $RUNTIME_CF_FILE > /tmp/runtime.cf
|
|
|
|
echo "Using config file name: $RUNTIME_CF_FILE"
|
|
echo "Using config file name: $RUNTIME_CF_FILE">>"$LOGFILE"
|
|
|
|
while read LINE ; do
|
|
if [ -n "$LINE" ] ; then
|
|
if [ ${LINE:0:1} != "#" ]; then
|
|
BINPATH=`echo $LINE | awk -F '^' '{printf $1}'`
|
|
BINPATH=`echo "$BINPATH" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
|
|
# echo $BINPATH
|
|
BIN=`echo $LINE | awk -F '^' '{printf $2}'`
|
|
BIN=`echo "$BIN" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
|
|
# echo $BIN
|
|
SPECIAL=`echo $LINE | awk -F '^' '{printf $4}'`
|
|
SPECIAL=`echo "$SPECIAL" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
|
|
# echo $SPECIAL
|
|
|
|
SLEEPSEC=`echo $LINE | awk -F '^' '{printf $5}'`
|
|
SLEEPSEC=`echo "$SLEEPSEC" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
|
|
# echo $SLEEPSEC
|
|
STARTFLAG=`echo $LINE | awk -F '^' '{printf $7}'`
|
|
STARTFLAG=`echo "$STARTFLAG" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
|
|
# echo $STARTFLAG
|
|
|
|
if [ "`echo $STARTFLAG`" != "IGNORE_START" ]; then
|
|
# echo ""
|
|
# echo "" >>"$LOGFILE"
|
|
CMD_STR=" ps -w | grep `echo "'"``echo $BIN``echo "'"` | grep -v 'grep'"
|
|
BIN2=`echo $BIN`
|
|
BIN3=`echo $BIN |awk '{print$1}'`
|
|
# CMD_STR="killall `echo $BIN | awk '{print$1}'` 2>&1 "
|
|
PIDSTR=`ps -ef | grep "$BIN2" | grep -v 'grep'`
|
|
if [ -n "$PIDSTR" ] ; then
|
|
if [ "$BIN3" == "fe_main" ]; then
|
|
CMD_STR=" sleep 3 "
|
|
echo "$CMD_STR"
|
|
echo "$CMD_STR" >>"$LOGFILE"
|
|
$CMD_STR
|
|
fi
|
|
|
|
CMD_STR="kill -15 `echo $PIDSTR | awk '{print$2}'` "
|
|
echo " Kill process: \"$BIN\" with PID `echo $PIDSTR | awk '{print$2}'`"
|
|
echo " Kill process: \"$BIN\" with PID `echo $PIDSTR | awk '{print$2}'`" >>"$LOGFILE"
|
|
echo " Executing: $CMD_STR"
|
|
echo " Executing: $CMD_STR" >>"$LOGFILE"
|
|
CMD_RESULT=`$CMD_STR`
|
|
if [ -n "$CMD_RESULT" ] ; then
|
|
echo "$CMD_RESULT"
|
|
echo "$CMD_RESULT" >>"$LOGFILE"
|
|
fi
|
|
|
|
else
|
|
echo " Process \"$BIN\" not running."
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
done < /tmp/runtime.cf
|
|
|
|
DT=`date "+%F %R:%S.%N"`
|
|
echo "****** ${DT:0:23} Stop Processes Succcessfully ******"
|
|
echo "" >>"$LOGFILE"
|
|
echo "****** ${DT:0:23} Stop Processes Succcessfully ******" >>"$LOGFILE"
|
|
|
|
# ========= 4. 清理软链接(仅在本次脚本中创建) =========
|
|
if [ "$TEMP_LINK_CREATED" -eq 1 ]; then
|
|
if [ -L "/FeProject" ]; then
|
|
sudo rm -f /FeProject
|
|
echo "Temporary symlink /FeProject removed."
|
|
fi
|
|
fi |