<Previous | เปเบเบทเปเบญเปเบ | เบเปเปเปเบ>
D.2. /lib/lsb/init-functions
#! / bin / sh
################################################ ######################
#
# เปเบฅเบตเปเบกเบเบปเปเบ /lib/lsb/init-funtions
#
# เบฅเบฒเบโเบฅเบฐโเบญเบฝเบ : เปเบฅเปเบเบเบฑเบเบเบฑเบเบเบฒเบเบเบงเบเบเบธเบกเบฅเบฐเบเบฑเบ
#
#! / bin / sh
################################################ ######################
#
# เปเบฅเบตเปเบกเบเบปเปเบ /lib/lsb/init-funtions
#
# เบฅเบฒเบโเบฅเบฐโเบญเบฝเบ : เปเบฅเปเบเบเบฑเบเบเบฑเบเบเบฒเบเบเบงเบเบเบธเบกเบฅเบฐเบเบฑเบ
#
# เบเบนเปเบเบฝเบ
#
# เบญเบฑเบเปเบเบ
#
# เบฅเบธเปเบ
#
# เปเบฒเบ เปเบซเบ
#
#
#
#
# เบเบนเปเบเบฝเบ
#
# เบญเบฑเบเปเบเบ
#
# เบฅเบธเปเบ
#
# เปเบฒเบ เปเบซเบ
#
#
#
#
################################################ ######################
## เบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบดเปเบเปเบงเบเบฅเปเบญเบก
# เบเบฑเปเบเบเปเบฒเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก umask 022
เบชเบปเปเบเบญเบญเบ PATH="/bin:/usr/bin:/sbin:/usr/sbin"
## เบเบฑเปเบเบเปเบฒเบชเบฑเปเบเบชเบต, เปเบเปเบเปเบฒเบเบชเบฝเบเบชเบฐเบเปเบญเบ
# เบเบฐเบฅเบธเบเบฒเบเบถเบเบชเบฒ `man console_codes เบชเปเบฒเบฅเบฑเบเบเปเปเบกเบนเบเปเบเบตเปเบกเปเบเบตเบก
# เบเบฒเบเปเบเปเบชเปเบงเบ "ECMA-48 Set Graphics Rendition".
#
# เบเบณเปเบเบทเบญเบ: เปเบกเบทเปเบญเบเปเบฝเบเบเบฒเบ 8bit เบกเบฒเปเบเบฑเบ 9bit,
# linux console เบเบฐเบเบตเบเบงเบฒเบกเปเบฒเปเปเปเบเบเบทเบเปเปเป (1;) to
################################################ ######################
## เบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบดเปเบเปเบงเบเบฅเปเบญเบก
# เบเบฑเปเบเบเปเบฒเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก umask 022
เบชเบปเปเบเบญเบญเบ PATH="/bin:/usr/bin:/sbin:/usr/sbin"
## เบเบฑเปเบเบเปเบฒเบชเบฑเปเบเบชเบต, เปเบเปเบเปเบฒเบเบชเบฝเบเบชเบฐเบเปเบญเบ
# เบเบฐเบฅเบธเบเบฒเบเบถเบเบชเบฒ `man console_codes เบชเปเบฒเบฅเบฑเบเบเปเปเบกเบนเบเปเบเบตเปเบกเปเบเบตเบก
# เบเบฒเบเปเบเปเบชเปเบงเบ "ECMA-48 Set Graphics Rendition".
#
# เบเบณเปเบเบทเบญเบ: เปเบกเบทเปเบญเบเปเบฝเบเบเบฒเบ 8bit เบกเบฒเปเบเบฑเบ 9bit,
# linux console เบเบฐเบเบตเบเบงเบฒเบกเปเบฒเปเปเปเบเบเบทเบเปเปเป (1;) to
# 256 glyphs เปเบเบดเบเบชเบธเบเบเบญเบเบเบปเบงเบญเบฑเบเบชเบญเบ 9bit. เบเบตเปเปเบฎเบฑเบ
# เบเปเปเบกเบตเบเบปเบเบเบฐเบเบปเบเบเบฑเบ framebuffer consoles
NORMAL="\\033[0;39m" # console grey เบกเบฒเบเบเบฐเบเบฒเบ SUCCESS="\\033[1;32m" # เบเบงเบฒเบกเบชเบณเปเบฅเบฑเบเปเบกเปเบเบชเบตเบเบฝเบง WARNING="\\033[1;33m" # เบเบณเปเบเบทเบญเบเปเบกเปเบเบชเบตเปเบซเบผเบทเบญเบ FAILURE="\\ 033[1;31m" # เบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบงเปเบกเปเบเบชเบตเปเบเบ INFO="\\033[1;36m" # เบเปเปเบกเบนเบเปเบกเปเบเบชเบตเบเปเบฒเบเบฝเบงเบญเปเบญเบ BRACKET="\\033[1;34m" # เบงเบปเบเปเบฅเบฑเบเปเบเบฑเบเบชเบตเบเปเบฒ
# เปเบเปเบเบณเบเบณเปเปเบฒเบชเบต BMPREFIX=" "
SUCCESS_PREFIX="${SUCCESS} * ${NORMAL} " FAILURE_PREFIX="${FAILURE}*****${NORMAL} " WARNING_PREFIX="${WARNING} *** ${NORMAL}" SKIP_PREFIX="${ เบเปเปเบกเบนเบ} S ${normAL}"
SUCCESS_SUFFIX="${BRACKET}[${SUCCESS} เบเบปเบเบฅเบปเบ ${BRACKET}]${NORMAL}" FAILURE_SUFFIX="${BRACKET}[${FAILURE} เบฅเบปเปเบกเปเบซเบฅเบง ${BRACKET}]${NORMAL}" WARNING_SUFFIX="$ {BRACKET}[${WARNING} เปเบเบทเบญเบ ${BRACKET}]${normAL}" SKIP_SUFFIX="${BRACKET}[${INFO} เบเปเบฒเบก ${BRACKET}]${normAL}"
BOOTLOG=/run/bootlog KILLDELAY=3 SCRIPT_STAT="0"
# เบเปเบฒเบเบปเบเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเบเบนเปเปเบเปเบฅเบฐเบเบธเปเบงเปเปเบเบฑเปเบ: HEADLESS [ -r /etc/sysconfig/rc.site ] && . /etc/sysconfig/rc.site
## เบเบฐเปเบฒเบเปเปเบฒเบเป
# เบเบญเบเบซเบฒเบเบฐเบซเบเบฒเบเบซเบเปเบฒเบเปเบเบฐเบเบธเบเบฑเบเบเปเบฒ [ -z "${COLUMNS}" ]; เปเบฅเปเบง
COLUMNS=$(เบเบฐเปเบฒเบ stty) COLUMNS=${COLUMNS##* }
fi
# เปเบกเบทเปเบญเปเบเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฒเบเปเบ, เปเบเบฑเปเบ: เบเบญเบ serial, เบเบฐเปเบฒเบ stty เบเบญเบเบเปเบฒ 0 เบเปเบฒ [ "${COLUMNS}" = "0" ]; เปเบฅเปเบง
COLUMNS=80
fi
## เบเบฒเบเบงเบฑเบเปเบเบเบเบฒเบเบเบฑเบเบเบณเปเปเปเบเบเปเปเบเบงเบฒเบก COL=$((${COLUMNS} - 8))
WCOL=$((${COL} - 2))
## เบเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบณเปเปเปเบเปเบเบตเปเบเบต, เปเบเปเบเปเบฒเบ echo SET_COL="\\033[${COL}G" # เบขเบนเปเบเบตเป $COL char SET_WCOL="\\033[${WCOL}G" # เบขเบนเป $WCOL char CURS_UP= "\\033[1A\\033[0G" # เบเบถเปเบเปเบถเปเบเปเบเบง, เบขเบนเปเบเบตเป 0'th Char CURS_ZERO="\\033[0G"
################################################ ##############################
# start_daemon() #
# เบเบฒเบเบเปเบฒเปเบเป: start_daemon [-f] [-n nicelevel] [-p pidfile] pathname [args...] #
# #
# เบเบธเบโเบเบฐโเบชเบปเบโ: เบเบตเปโเบเปเบฒโเปเบเบตเบโเปเบเบโเบเบฒเบโเบเบตเปโเบเปเบฒโเบเบปเบโเปเบงเปโเปเบเบฑเบ daemon #
# #
# เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ: -f: (เบเบฑเบเบเบฑเบ) เปเบฅเปเบเปเบเบฃเปเบเบฃเบกเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฐเปเบฅเปเบเปเบฅเปเบงเบเปเบเบฒเบก. #
# -n nicelevel: เบฅเบฐเบเบธเบฅเบฐเบเบฑเบเบเบฒเบก. เปเบเบดเปเบ 'เบเบนเปเบเบฒเบเบเบฒเบก(1)'. #
# -p pidfile: เปเบเปเปเบเบฅเปเบเบตเปเบฅเบฐเบเบธเปเบเบทเปเบญเบเปเบฒเบเบปเบ PIDs. #
# เบเบทเปเปเบชเบฑเปเบเบเบฒเบ: เปเบชเบฑเปเบเบเบฒเบเบเบตเปเบชเบปเบกเบเบนเบเปเบเบซเบฒเปเบเบเบเบฒเบเบเบตเปเบฅเบฐเบเบธเปเบงเป #
# args: arguments เปเบเบตเปเบกเปเบเบตเบกเบเบตเปเบชเบปเปเบเบเบฑเบเปเบเบเบเบฒเบ (เบเบทเปเปเบชเบฑเปเบเบเบฒเบ) #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ (เบเบฒเบกเบเบณเบเบปเบเปเบเบเบฅเบฐเบซเบฑเบเบญเบญเบ LSB): #
# 0 - เปเบเบฃเปเบเบกเบเบณเบฅเบฑเบเปเบฅเปเบ เบซเบผเบทเบเปเบฅเบดเบเบฒเบเปเบกเปเบ OK #
#1 - เบเปเปเบเบดเบเบเบฒเบเบเบปเปเบงเปเบ เบซเบผเบทเบเปเปเปเบเปเบฅเบฐเบเบธ #
# 2 - เบเบฒเบเปเบเปเบเบฝเบเบเปเปเบเบทเบเบเปเบญเบ เบซเบผเบทเบซเบผเบฒเบเปเบเบตเบเปเบ #
# 5 - เปเบเบเบเบฒเบเบเปเปเปเบเปเบเบดเบเบเบฑเปเบ #
################################################ ##############################
start_daemon()
{
local force="" local nice="0" local pidfile="" local pidlist="" local retval=""
# เบเบฐเบกเบงเบเบเบปเบเบเบฒเบเปเบเปเบเบฝเบเปเบเบเบฐเบเบฐเบเบตเปเปเบเบฑเบเบเบงเบฒเบกเบเบดเบ
do
เบเปเบฅเบฐเบเบต "${1}" เปเบ
-f)
force="1" shift 1
;;
-n)
nice="${2}" shift 2
;;
-p)
pidfile="${2}" shift 2
;;
-*)
เบเบฑเบเบเบทเบ 2
;;
เปเบฎเบฑเบ
*)
เบงเปเบฒ C
program="${1}" เบขเบธเบ
;;
# เบเบงเบเปเบเบดเปเบเปเบเบเบเบฒเบเบเบตเปเบเบทเบเบเปเบญเบ
เบเปเบฒ [ ! -e "${program}" ]; เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบเบทเบ 5; เบเบต
# เบเบฐเบเบดเบเบฑเบ
เบเปเบฒ [ -z "${force}" ]; เปเบฅเปเบง
เบเปเบฒ [ -z "${pidfile}" ]; เปเบฅเปเบง
# เบเปเบฒเบเบปเบ pid เปเบเบเบเบฒเบเบเบปเปเบเบเบปเบ pidlist=`pidofproc "${1}"` retval="${?}"
เบญเบทเปเบ
# เปเบเบฅเป PID เบเบฐเบเบญเบเบกเบต PIDs เบเบตเปเบเปเบญเบเบเบฒเบ
# เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบเบฒเบกเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบญเบ LSB, เปเบชเบฑเปเบเบเบฒเบเบเปเบญเบเบเบทเบเบกเบญเบเปเบซเป pidofproc,
# เปเบเบงเปเบเบเปเปเบเบฒเบก, เบกเบฑเบเบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเปเปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบซเบผเบทเบกเบฒเบเบเบฐเบเบฒเบเปเบเบเบฐเบเบธเบเบฑเบ. pidlist=`pidofproc -p "${pidfile}" "${1}"`
retval="${?}"
fi
# เบเบญเบเบเปเบฒเปเบเบปเปเบฒเบเบฑเปเบ
# เบกเบฑเบเปเบเบฑเบเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบเบเบญเบ init script (เบซเบผเบทเบซเบเปเบฒเบเบตเปเบเบฒเบเปเบเบเบขเบฒเบ).
# เปเบเบทเปเบญเบเบฑเบเบเบถเบเบเปเปเบเบงเบฒเบก! เบเปเบฅเบฐเบเบต "${retval}" เปเบ
0)
# เปเบเบฃเปเบเบกเปเบฅเปเบเบเบทเบเบเปเบญเบเปเบฅเปเบง, เบเบตเปเปเบกเปเบ
# เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ. เบเบฑเบเบเบทเบ 0
;;
1)
# เปเบเบเบเบฒเบเบเปเปเปเบเปเปเบฎเบฑเบเบงเบฝเบ, เปเบเปเบกเบตเปเบเบฅเป pid เบเบตเปเบเปเปเบเบทเบเบเปเบญเบ
# เปเบญเบปเบฒเปเบเบฅเป pid เปเบฅเบฐเบชเบทเบเบเปเป rm -f "${pidfile}"
;;
3)
# เปเบเบเบเบฒเบเบเปเปเปเบฎเบฑเบเบงเบฝเบเปเบฅเบฐเบเปเปเบกเบต pidfile
# เบเปเปเปเบฎเบฑเบเบซเบเบฑเบเปเบฅเบตเบ, เปเบซเป start_deamon เบชเบทเบเบเปเป.
;;
*)
เบงเปเบฒ C
fi
# เบญเบฑเบเบญเบทเปเบเบเบตเปเบชเบปเปเบเบเบทเบเปเบเบเบเปเบฒเบชเบฐเบเบฒเบเบฐเบเบฐเบเปเปเบเบทเบเบเบตเบเบงเบฒเบกเปเบฒเบ
# เปเบฅเบฐเบชเบปเปเบเบเบทเบเปเบเบฑเบเบเปเปเบเบดเบเบเบฒเบเบเบตเปเบเปเปเปเบเปเบฅเบฐเบเบธ. เบเบฑเบโเบเบทเบ 1
;;
#เปเบฅเบตเปเบก!
เบเบฒเบก -n "${nice}" "${@}"
}
################################################ ##############################
# killproc() #
# เบเบฒเบเบเปเบฒเปเบเป: killproc [-p pidfile] pathname [เบชเบฑเบเบเบฒเบ] #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบชเบปเปเบเบชเบฑเบเบเบฒเบเบเบงเบเบเบธเบกเปเบเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเปเบฅเปเบ #
# #
# เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ: -p pidfile, เปเบเป pidfile เบเบตเปเบฅเบฐเบเบธ #
# เบเบทเปเปเบชเบฑเปเบเบเบฒเบ, เบเบทเปเปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเปเบเบเบเบฒเบเบเบตเปเบฅเบฐเบเบธ #
# เบชเบฑเบเบเบฒเบ, เบชเบปเปเบเบชเบฑเบเบเบฒเบเบเบตเปเปเบเบซเบฒเบเบทเปเปเบชเบฑเปเบเบเบฒเบ #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ (เบเบฒเบกเบเบณเบเบปเบเปเบเบเบฅเบฐเบซเบฑเบเบญเบญเบ LSB): #
# 0 - เปเบเบฃเปเบเบก (เบเบทเปเปเบชเบฑเปเบเบเบฒเบ) เปเบเปเบขเบธเบ/เบขเบธเบเปเบฅเปเบง เบซเบผเบท #
# | เปเบเบฃเปเบเบกเปเบฅเปเบเปเบเปเบเบทเบเบชเบปเปเบเปเบเปเบฅเปเบง | เบชเบฑเบเบเบฒเบเปเบฅเบฐ | เบขเบธเบเปเบเบปเบฒ | # | |
# | เบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ | # | |||
# | 1 | - เบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบปเปเบงเปเบ เบซเบผเบทเบเปเปเปเบเปเบฅเบฐเบเบธ | # | ||
# | 2 | - เบเบฒเบโเปเบเปโเบเบฝเบโเบเบตเปโเบเปเปโเบเบทเบโเบเปเบญเบโเบซเบผเบทโเปเบเบตเบโเปเบ | # | ||
# | 5 | - เปเบเบโเบเบฒเบโเบเปเปโเปเบเปโเบเบดเบโเบเบฑเปเบโ | # | ||
# | 7 | - เปเบเบโเบเบฒเบโเบเปเปโเปเบเปโเปเบฅเปเบโเปเบฅเบฐโเบชเบฑเบโเบเบฒเบโเปเบกเปเบโ | เบชเบฐเบซเบเบญเบเปเบซเป | # |
################################################ ##############################
killproc()
{
local pidfile เปเบเบฃเปเบเบกเบเปเบญเบเบเบดเปเบ local prefix local progname
local signal="-TERM" local fallback="-KILL" local nosig
pidlist เบเปเบญเบเบเบดเปเบ retval pid เบเปเบญเบเบเบดเปเบ
local delay="30" local piddead เบเปเบญเบเบเบดเปเบ dtime
# เบเบฐเบเบงเบเบเบฒเบเปเบเปเบเบฝเบเปเบเบเบฐเบเบฐเบเบตเปเปเบเบฑเบเบเบงเบฒเบกเบเบดเบ; เปเบฎเบฑเบ
เบเปเบฅเบฐเบเบต "${1}" เปเบ
-p)
pidfile="${2}" shift 2
;;
*)
program="${1}"
เบเปเบฒ [-n "${2}" ]; เบเบฒเบเบเบฑเปเบ signal="${2}" fallback=""
เบญเบทเปเบ
noig=1
fi
# เบเปเปเบเบดเบเบเบฒเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเปเบเบฝเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฒ [ -n "${3}" ]; เปเบฅเปเบง
เบเบฑเบเบเบทเบ 2
เบญเบทเปเบ
เบเบฑเบเบเปเบญเบ
เปเบฎเบฑเบ
fi
;;
เบงเปเบฒ C
# เบเบงเบเปเบเบดเปเบเปเบเบเบเบฒเบเบเบตเปเบเบทเบเบเปเบญเบ
เบเปเบฒ [ ! -e "${program}" ]; เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบเบทเบ 5; เบเบต
# เบเบงเบเปเบเบดเปเบเบชเบฑเบเบเบฒเบ check_signal เบเบตเปเบเบทเบเบเปเบญเบ "${signal}"
เบเปเบฒ [ "${?}" -ne "0" ]; เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบเบทเบ 2; เบเบต
# เบฎเบฑเบเบฅเบฒเบเบเบทเป pids
เบเปเบฒ [ -z "${pidfile}" ]; เปเบฅเปเบง
# เบเบณเบเบปเบ pid เปเบเบเบเบฒเบเบเบปเปเบเบเบปเบ pidlist=`pidofproc "${1}"` retval="${?}"
เบญเบทเปเบ
# เปเบเบฅเป PID เบเบฐเบเบญเบเบกเบต PIDs เบเบตเปเบเปเบญเบเบเบฒเบ
# เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบเบฒเบกเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบญเบ LSB, เปเบชเบฑเปเบเบเบฒเบเบเปเบญเบเบเบทเบเบกเบญเบเปเบซเป pidofproc,
# เปเบเบงเปเบเบเปเปเบเบฒเบก, เบกเบฑเบเบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเปเปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบซเบผเบทเบกเบฒเบเบเบฐเบเบฒเบเปเบเบเบฐเบเบธเบเบฑเบ. pidlist=`pidofproc -p "${pidfile}" "${1}"`
retval="${?}"
fi
# เบเบญเบเบเปเบฒเปเบเบปเปเบฒเบเบฑเปเบ
# เบกเบฑเบเปเบเบฑเบเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบเบเบญเบ init script (เบซเบผเบทเบซเบเปเบฒเบเบตเปเบเบฒเบเปเบเบเบขเบฒเบ).
# เปเบเบทเปเบญเบเบฑเบเบเบถเบเบเปเปเบเบงเบฒเบก! เบเปเบฅเบฐเบเบต "${retval}" เปเบ
0)
# เปเบเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ
# เบขเปเบฒเปเบฎเบฑเบเบซเบเบฑเบเบขเบนเปเบเบตเป, เปเบซเป killproc เบชเบทเบเบเปเป.
;;
1)
# เปเบเบเบเบฒเบเบเปเปเปเบเปเปเบฎเบฑเบเบงเบฝเบ, เปเบเปเบกเบตเปเบเบฅเป pid เบเบตเปเบเปเปเบเบทเบเบเปเบญเบ
# เปเบญเบปเบฒเปเบเบฅเป pid เบญเบญเบ. rm -f "${pidfile}"
# เบเบตเปเปเบเบฑเบเบเบฝเบเบเบงเบฒเบกเบชเบณเปเบฅเบฑเบ เบเปเบฒเบเปเปเบกเบตเบชเบฑเบเบเบฒเบเบเปเบฒเบ. เบเปเบฒ [ -n "${nosig}" ]; เปเบฅเปเบง
เบเบฑเบเบเบทเบ 0
เบญเบทเปเบ
เบเบฑเบเบเบทเบ 7
fi
;;
3)
# เปเบเบเบเบฒเบเบเปเปเปเบฎเบฑเบเบงเบฝเบเปเบฅเบฐเบเปเปเบกเบต pidfile
# เบเบตเปเปเบเบฑเบเบเบฝเบเบเบงเบฒเบกเบชเบณเปเบฅเบฑเบ เบเปเบฒเบเปเปเบกเบตเบชเบฑเบเบเบฒเบเบเปเบฒเบ. เบเปเบฒ [ -n "${nosig}" ]; เปเบฅเปเบง
เบเบฑเบเบเบทเบ 0
เบญเบทเปเบ
เบเบฑเบเบเบทเบ 7
fi
;;
*)
เบงเปเบฒ C
# เบญเบฑเบเบญเบทเปเบเบเบตเปเบชเบปเปเบเบเบทเบเปเบเบเบเปเบฒเบชเบฐเบเบฒเบเบฐเบเบฐเบเปเปเบเบทเบเบเบตเบเบงเบฒเบกเปเบฒเบ
# เปเบฅเบฐเบชเบปเปเบเบเบทเบเปเบเบฑเบเบเปเปเบเบดเบเบเบฒเบเบเบตเปเบเปเปเปเบเปเบฅเบฐเบเบธ. เบเบฑเบโเบเบทเบ 1
;;
# เบเปเบฒเปเบเบตเบเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบชเบฑเบเบเบฒเบเบเบฒเบเบญเบญเบเปเบฅเบฐเบชเบฑเบเบเบฒเบเบเบงเบเบเบธเบก check_sig_type "${signal}"
เบเปเบฒ [ "${?}" -eq "0" ]; เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ # เบชเบฑเบเบเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบขเบธเบเปเบเบเบเบฒเบ
# เบเบฑเบเบเบตเบชเปเบฒเบฅเบฑเบ pidlist เบซเบงเปเบฒเบเปเบเบปเปเบฒ (เปเบเบฅเป pid เบเบฑเบเบกเบตเบขเบนเปเปเบฅเบฐเบเปเปเบกเบต
# เบชเบฑเบโเบเบฒเบโเปเบเปโเบฎเบฑเบโ)
เบเปเบฒ [ "${pidlist}" != "" ]; เปเบฅเปเบง
# เบเปเบฒเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบ pids เบชเปเบฒเบฅเบฑเบ pid เปเบ ${pidlist}; เปเบฎเบฑเบ
kill -0 "${pid}" 2> /dev/null เบเปเบฒ [ "${?}" -ne "0" ]; เปเบฅเปเบง
# เบเบฐเบเบงเบเบเบฒเบเปเบกเปเบเบเบฒเบเปเบฅเปเบง, เบชเบทเบเบเปเปเบเปเปเปเบเปเบฅเบฐเบเบทเบงเปเบฒเบเบธเบเบขเปเบฒเบเปเบกเปเบเบชเบทเบเบเปเปเปเบเบเปเบงเบเบเบต
เบญเบทเปเบ
เบเปเบฒ "${signal}" "${pid}" 2> /dev/null
# เบฅเปเบเปเบฒเปเบเบดเบ ${delay}/10 เบงเบดเบเบฒเบเบตเปเบเบทเปเบญ "${pid}" เปเบ
# เบชเบดเปเบเบชเบธเบเปเบ 10ths เบเบญเบเบงเบดเบเบฒเบเบต
เปเบเบเบฐเบเบฐเบเบตเป [ "${delay}" -ne "0" ]; เปเบฎเบฑเบ
kill -0 "${pid}" 2> /dev/null || piddead="1" เบเปเบฒ [ "${piddead}" = "1" ]; เปเบฅเปเบงเปเบเบ; fi เบเบญเบ 0.1
delay="$(( ${delay} - 1 ))"
เปเบฎเบฑเบ
# เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเบฒเบ fallback เปเบเปโเบเบทเบโเบเบฑเปเบโเปเบงเปโ, เปเบฅเบฐโเปเบเบโเบเบฒเบโเบเบฑเบโเบเปเบฒโเปเบเบตเบโเบเบฒเบโ, เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโ
# เปเบเปเบเบปเบงเบชเบณเบฎเบญเบ
เบเปเบฒ [-n "${fallback}" -a "${piddead}" != "1" ]; เบเบฒเบเบเบฑเปเบเบเปเบฒ "${fallback}" "${pid}" 2> /dev/null
เบเบญเบ 1
# เบเบงเบเปเบเบดเปเบเบญเบตเบเบเบฑเปเบ, เปเบฅเบฐเบฅเบปเปเบกเปเบซเบฅเบงเบเปเบฒเบเบฑเบเปเบฅเปเบ kill -0 "${pid}" 2> /dev/null && return 1
fi
fi
เปเบฎเบฑเบ
fi
# เบเบงเบเปเบเบดเปเบเปเบฅเบฐเปเบญเบปเบฒเปเบเบฅเป PID เปเบเบปเปเบฒเบญเบญเบ. เบเปเบฒ [ -z "${pidfile}" ]; เปเบฅเปเบง
# เบเบญเบเบซเบฒเบเบทเปเบเบทเปเบเบเบฒเบเบเบญเบ $program
prefix=`echo "${program}" | sed 's/[^/]*$//'` progname=`echo "${program}" | sed "s@${prefix}@@"`
เบเปเบฒ [ -e "/var/run/${progname}.pid" ]; เปเบฅเปเบง
rm -f "/var/run/${progname}.pid" 2> /dev/null
fi
เบญเบทเปเบ
เบเปเบฒ [ -e "${pidfile}" ]; เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ rm -f "${pidfile}" 2> /dev/null; เบเบต
fi
# เบชเปเบฒเบฅเบฑเบเบชเบฑเบเบเบฒเบเบเบตเปเบเปเปเปเบเปเบเบฒเบเบซเบงเบฑเบเบงเปเบฒเปเบเบเบเบฒเบเบเบฐเบญเบญเบ, เบเบฝเบเปเบเป
# เปเบซเป kill เปเบฎเบฑเบเบงเบฝเบเบเบญเบเบกเบฑเบ, เปเบฅเบฐเบเบฐเปเบกเบตเบเบเบทเบเบเปเบฒเบเบญเบ kill
else# check_sig_type - เบชเบฑเบเบเบฒเบเบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบขเบธเบเปเบเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ pid เปเบ ${pidlist}; เปเบฎเบฑเบ
เบเปเบฒ "${signal}" "${pid}"
เบเปเบฒ [ "${?}" -ne "0" ]; เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบเบทเบ 1; เบเบต
เปเบฎเบฑเบ
fi
}
################################################ ##############################
# pidofproc() #
# เบเบฒเบเบเปเบฒเปเบเป: pidofproc [-p pidfile] pathname #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบฑเบเบเบฑเบเบเบตเปเบชเบปเปเบเบเบทเบเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเบเบงเปเบฒ pid เบชเปเบฒเบฅเบฑเบ daemon เปเบเบเบชเบฐเปเบเบฒเบฐ #
# #
# เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ: -p pidfile, เปเบเป pidfile เบเบตเปเบฅเบฐเบเบธเปเบเบ pidof #
# เบเบทเปเปเบชเบฑเปเบเบเบฒเบ, เปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเปเบเบฃเปเบเบฃเบกเบเบตเปเบฅเบฐเบเบธ #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ (เบเบฒเบกเบเบณเบเบปเบเปเบเบเบฅเบฐเบซเบฑเบเบชเบฐเบเบฒเบเบฐ LSB): #
# 0 - เบเบงเบฒเบกเบชเบณเปเบฅเบฑเบ (PIDs to stdout) #
# 1 - เปเบเบฃเปเบเบฃเบกเบเบฒเบเปเบฅเปเบง, เปเบเบฅเป PID เบเบฑเบเบกเบตเบขเบนเป (เบเบปเบเบเบฐเบฅเบดเบ PID เบเบตเปเบเบฑเบเปเบซเบผเบทเบญ) #
# 3 - เปเบเบฃเปเบเบฃเบกเบเปเปเปเบฅเปเบ (เบเปเปเบกเบตเบเบปเบเบเบฐเบฅเบดเบ) #
################################################ ##############################
pidofproc()
{
local pidfile เปเบเบฃเปเบเบฃเบกเบเปเบญเบเบเบดเปเบ local prefix local progname local pidlist local lpids
เบชเบฐเบเบฒเบเบฐเบเบฒเบเบญเบญเบเบเบฒเบเบเปเบญเบเบเบดเปเบ = "0"
# เบเบฐเบเบงเบเบเบฒเบเปเบเปเบเบฝเบเปเบเบเบฐเบเบฐเบเบตเปเปเบเบฑเบเบเบงเบฒเบกเบเบดเบ; เปเบฎเบฑเบ
เบเปเบฅเบฐเบเบต "${1}" เปเบ
-p)
pidfile="${2}" shift 2
;;
*)
program="${1}"
เบเปเบฒ [ -n "${2}" ]; เปเบฅเปเบง
# เปเบเปเบเบฝเบเบซเบผเบฒเบเปเบเบตเบเปเบ
# เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบตเปเปเบกเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบ, เบเบฑเบเบเบทเบเบเปเปเบฎเบนเปเบเบปเบเบเบญเบเปเบเบ 4
เบญเบทเปเบ
เบเบฑเบเบเปเบญเบ
เปเบฎเบฑเบ
fi
;;
เบงเปเบฒ C
# เบเปเบฒเปเบเบฅเป PID เบเปเปเปเบเปเบเบทเบเบฅเบฐเบเบธ, เบเบฐเบเบฒเบเบฒเบกเปเบฅเบฐเบเบญเบเบซเบฒเบซเบเบถเปเบ. เบเปเบฒ [ -z "${pidfile}" ]; เปเบฅเปเบง
# เปเบญเบปเบฒเบเบทเปเบเบทเปเบเบเบฒเบเบเบญเบเปเบเบเบเบฒเบ
prefix=`echo "${program}" | sed 's/[^/]*$//'` เบเปเบฒ [ -z "${prefix}" ]; เปเบฅเปเบง
progname="${program}" เบญเบทเปเบ
progname=`echo "${program}" | sed "s@${prefix}@@"`
fi
# เบเปเบฒเปเบเบฅเป PID เบกเบตเบเบทเปเบเบฑเปเบ, เปเบซเปเบชเบปเบกเบกเบธเบเบงเปเบฒเบเบฑเปเบเปเบกเปเบเบกเบฑเบ. เบเปเบฒ [ -e "/var/run/${progname}.pid" ]; เปเบฅเปเบง
pidfile="/var/run/${progname}.pid"
fi
fi
# เบเปเบฒเปเบเบฅเป PID เบเบทเบเบเบฑเปเบเปเบฅเบฐเบกเบตเบขเบนเป, เปเบซเปเปเบเปเบกเบฑเบ.
เบเปเบฒ [ -n "${pidfile}" -a -e "${pidfile}" ]; เปเบฅเปเบง
# เปเบเปเบเปเบฒเปเบเปเบเบงเบเบณเบญเบดเบเบเบญเบ pidfile pidlist=`/bin/head -n1 "${pidfile}"`
# เบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบชเบฒเบกเบฒเบเบเบฝเบเปเบเบฑเบ 'sed 1q' เปเบเบทเปเบญ repalce 'head -n1'
# เบเบงเบ LFS เบเปเบฒเบ /bin/head เปเบ /usr/bin/head
เบญเบทเปเบ
# เปเบเป pidof
pidlist=`pidof "${program}"`
fi
# เบเบดเบเบญเบญเบเบงเปเบฒ PIDs เบเบตเปเบกเบตเบฅเบฒเบเบเบทเปเบเบฑเบเบซเบกเบปเบเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเป. เบชเปเบฒเบฅเบฑเบ pid เปเบ ${pidlist}; เปเบฎเบฑเบ
เบเปเบฒ -0 ${pid} 2> /dev/null
เบเปเบฒ ["${?}" -eq "0" ]; เบเบฒเบเบเบฑเปเบ lpids="${lpids}${pid}"
เบญเบทเปเบ
exitstatus="1"
fi
เปเบฎเบฑเบ
เบเปเบฒ [-z "${lpids}" -a ! -f "${pidfile}" ]; เปเบฅเปเบงเบเบฑเบเบเบทเบ 3
เบญเบทเปเบ
เบชเบฝเบเบชเบฐเบเปเบญเบ "${lpids}"
เบเบฑเบเบเบทเบ "${exitstatus}"
fi
}
################################################ ##############################
# statusproc() #
# เบเบฒเบเบเปเบฒเปเบเป: statusproc [-p pidfile] pathname #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบฑเบเบเบฑเบเบเบตเปเบเบดเบกเบชเบฐเบเบฒเบเบฐเบเบญเบ daemon เปเบเบเบชเบฐเปเบเบฒเบฐเปเบเบทเปเบญ stdout #
# #
# เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ: -p pidfile, เปเบเป pidfile เบเบตเปเบฅเบฐเบเบธเปเบเบ pidof #
# เบเบทเปเปเบชเบฑเปเบเบเบฒเบ, เปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเปเบเบฃเปเบเบฃเบกเบเบตเปเบฅเบฐเบเบธ #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ: #
# 0 - เบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบดเบก #
#1 - เบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเบเบดเบเบเบฒเบ. daemon เบเบตเปเบเบฐเบเบงเบเบชเบญเบเบเปเปเปเบเปเบฅเบฐเบเบธเปเบงเป. #
################################################ ##############################
statusproc()
{
pidfile เบเปเบญเบเบเบดเปเบ pidlist เบเปเบญเบเบเบดเปเบ
เบเปเบฒ [ "${#}" = "0" ]; เปเบฅเปเบง
echo "เบเบฒเบเบเปเบฒเปเบเป: statusproc [-p pidfle] {program}" เบญเบญเบ 1
fi
# เบเบฐเบเบงเบเบเบฒเบเปเบเปเบเบฝเบเปเบเบเบฐเบเบฐเบเบตเปเปเบเบฑเบเบเบงเบฒเบกเบเบดเบ; เปเบฎเบฑเบ
เบเปเบฅเบฐเบเบต "${1}" เปเบ
-p)
pidfile="${2}" shift 2
;;
*)
เบเปเบฒ [ -n "${2}" ]; เปเบฅเปเบง
echo "เบเบฒเบเปเบเปเบเบฝเบเบซเบผเบฒเบเปเบเบตเบเปเบ" เบเบฑเบเบเบทเบ 1
เบญเบทเปเบ
เบเบฑเบเบเปเบญเบ
เปเบฎเบฑเบ
fi
;;
เบงเปเบฒ C
เบเปเบฒ [ -n "${pidfile}" ]; เบเบฒเบเบเบฑเปเบ pidlist=`pidofproc -p "${pidfile}" $@`
เบญเบทเปเบ
pidlist=`pidofproc $@`
fi
# เบเบฑเบเบเปเบญเบเบซเบงเปเบฒเบเบเปเปเบเปเบฒเบ
pidlist=`echo "${pidlist}" | sed -r 's/ +$//'` base="${1##*/}"
เบเปเบฒ [ -n "${pidlist}" ]; เปเบฅเปเบง
/bin/echo -e "${INFO}${base} เบเบณเบฅเบฑเบเปเบฅเปเบเบเปเบงเบ Process" \ "ID(s) ${pidlist}.${NORMAL}"
เบญเบทเปเบ
เบเปเบฒ [ -n "${base}" -a -e "/var/run/${base}.pid" ]; เปเบฅเปเบง
/bin/echo -e "${WARNING}${1} เบเปเปเปเบเปเปเบฅเปเบเปเบเป" \ "/var/run/${base}.pid เบกเบตเบขเบนเป.${NORMAL}"
เบญเบทเปเบ
เบเปเบฒ [ -n "${pidfile}" -a -e "${pidfile}" ]; เปเบฅเปเบง
/bin/echo -e "${WARNING}${1} เบเปเปเปเบเปเปเบฎเบฑเบเบงเบฝเบ" \ "เปเบเปเบงเปเบฒ ${pidfile} เบกเบตเบขเบนเป.${NORMAL}"
เบญเบทเปเบ
/bin/echo -e "${INFO}${1} เบเปเปเปเบฎเบฑเบเบงเบฝเบ.${NORMAL}"
fi
fi
fi
}
################################################ ##############################
# timespec() #
# #
# เบเบธเบโเบเบฐโเบชเบปเบโ: เปเบเบฑเบโเบซเบเปเบฒโเบเบตเปโเบญเบธโเบเบฐโเบเบญเบโเบเบฒเบโเปเบโเปเบเบทเปเบญโเบเบฑเบโเบฎเบนเบโเปเบเบโเปเบงโเบฅเบฒ #
# เปเบเบฅเปเบเบฑเบเบเบถเบเบเบฒเบเบเบนเบ. เบเบฑเปเบเบเปเบฒเบเบปเบงเปเบ STAMP. #
# #
# เบเปเบฒเบเบญเบเปเบเบ: เบเปเปเปเบเปเปเบเป #
################################################ ##############################
timespec()
{
STAMP="$(echo `date +"%b %d %T %:z"` `hostname`) " เบเบฑเบเบเบทเบ 0
}
################################################ ##############################
# log_success_msg() #
# เบเบฒเบเบเปเบฒเปเบเป: log_success_msg ["เบเปเปเบเบงเบฒเบก"] #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบดเบกเบเปเปเบเบงเบฒเบกเบชเบฐเบเบฒเบเบฐเบเบตเปเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบเปเบชเปเบซเบเปเบฒเบเปเปเบฅเบฐ #
# เปเบเบฅเปเบเบฑเบเบเบถเบเบเบฒเบเบเบนเบ. #
# #
# เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ: $@ - เบเปเปเบเบงเบฒเบก #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ: เบเปเปเปเบเปเปเบเป #
################################################ ##############################
log_success_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}"
# เบเบญเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบเบดเบกเปเบเปเบเบฒเบเปเบเบฅเปเบเบฑเบเบเบถเบ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
timepec
/bin/echo -e "${STAMP} ${logmessage} OK" >> ${BOOTLOG}
เบเบฑเบเบเบทเบ 0
}
log_success_msg2()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}" echo "OK" >> ${BOOTLOG}
เบเบฑเบเบเบทเบ 0
}
################################################ ##############################
# log_failure_msg() #
# เบเบฒเบเบเปเบฒเปเบเป: log_failure_msg ["เบเปเปเบเบงเบฒเบก"] #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบดเบกเบเปเปเบเบงเบฒเบกเบชเบฐเบเบฒเบเบฐเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบงเปเบชเปเปเปเบฒเบเป เปเบฅเบฐ #
# เปเบเบฅเปเบเบฑเบเบเบถเบเบเบฒเบเบเบนเบ. #
# #
# เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ: $@ - เบเปเปเบเบงเบฒเบก #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ: เบเปเปเปเบเปเปเบเป #
################################################ ##############################
log_failure_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}"
# เบเบญเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบเบดเบกเปเบเปเบเบฒเบ log file timespec
logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo -e "${STAMP} ${logmessage} FAIL" >> ${BOOTLOG}
เบเบฑเบเบเบทเบ 0
}
log_failure_msg2()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}" echo "FAIL" >> ${BOOTLOG}
เบเบฑเบเบเบทเบ 0
}
################################################ ##############################
# log_warning_msg() #
# เบเบฒเบเบเปเบฒเปเบเป: log_warning_msg ["เบเปเปเบเบงเบฒเบก"] #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบดเบกเบเปเปเบเบงเบฒเบกเบชเบฐเบเบฒเบเบฐเปเบเบทเบญเบเปเบชเปเปเปเบฒเบเป เปเบฅเบฐ #
# เปเบเบฅเปเบเบฑเบเบเบถเบเบเบฒเบเบเบนเบ. #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ: เบเปเปเปเบเปเปเบเป #
################################################ ##############################
log_warning_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${WARNING_PREFIX}${SET_COL}${WARNING_SUFFIX}"
# เบเบญเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบเบดเบกเปเบเปเบเบฒเบเปเบเบฅเปเบเบฑเบเบเบถเบ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'` timespec
/bin/echo -e "${STAMP} ${logmessage} WARN" >> ${BOOTLOG}
เบเบฑเบเบเบทเบ 0
}
log_skip_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
/bin/echo -e "${CURS_ZERO}${SKIP_PREFIX}${SET_COL}${SKIP_SUFFIX}"
# เบเบญเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบเบดเบกเปเบเปเบเบฒเบเปเบเบฅเปเบเบฑเบเบเบถเบ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo "เบเปเบฒเบก" >> ${BOOTLOG}
เบเบฑเบเบเบทเบ 0
}
################################################ ##############################
# log_info_msg() #
# เบเบฒเบเบเปเบฒเปเบเป: เบเปเปเบเบงเบฒเบก log_info_msg #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบดเบกเบเปเปเบเบงเบฒเบกเบเปเปเบกเบนเบเปเบชเปเบซเบเปเบฒเบเปเปเบฅเบฐ #
# เปเบเบฅเปเบเบฑเบเบเบถเบเบเบฒเบเบเบนเบ. เบเปเปเปเบเปเบเบดเบกเบเบปเบงเบญเบฑเบเบชเบญเบเปเบเบงเปเปเปเบเปเปเบเปเบฒเบ. #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ: เบเปเปเปเบเปเปเบเป #
################################################ ##############################
log_info_msg()
{
/bin/echo -n -e "${BMPREFIX}${@}"
# เบเบญเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบเบดเบกเปเบเปเบเบฒเบเปเบเบฅเปเบเบฑเบเบเบถเบ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'` timespec
/bin/echo -n -e "${STAMP} ${logmessage}" >> ${BOOTLOG}
เบเบฑเบเบเบทเบ 0
}
log_info_msg2()
{
/bin/echo -n -e "${@}"
# เบเบญเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบเบดเบกเปเบเปเบเบฒเบเปเบเบฅเปเบเบฑเบเบเบถเบ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
/bin/echo -n -e "${logmessage}" >> ${BOOTLOG}
เบเบฑเบเบเบทเบ 0
}
################################################ ##############################
# evaluate_retval() #
# เบเบฒเบโเบเปเบฒโเปเบเปโ: เบเบฒเบโเบเบฐโเปเบกเบตเบโเบกเบนเบโเบเปเบฒโเบเบฑเบโเบเบทเบโเบกเบฒโเปเบฅเบฐโเบเบฒเบโเบเบดเบกโเบเบปเบโเบชเปเบฒโเปเบฅเบฑเบโเบซเบผเบทโเบเบงเบฒเบกโเบฅเบปเปเบกโเปเบซเบผเบงโเบเบฒเบกโเบเบงเบฒเบกโเปเบซเบกเบฒเบฐโเบชเบปเบก #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบซเบเปเบฒเบเบตเปเบชเบฐเบเบงเบเปเบเบเบฒเบเบขเบธเบเบเปเปเบเบงเบฒเบกเบเปเปเบกเบนเบ #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ: เบเปเปเปเบเปเปเบเป #
################################################ ##############################
evaluate_retval()
{
local error_value="${?}"
เบเปเบฒ [ ${error_value} = 0 ]; เบเบฒเบเบเบฑเปเบ log_success_msg2
เบญเบทเปเบ
log_failure_msg2
fi
}
################################################ ##############################
# check_signal() #
# เบเบฒเบเบเปเบฒเปเบเป: check_signal [ -{signal} | {signal} ] #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบงเบเปเบเบดเปเบเบชเบฑเบเบเบฒเบเบเบตเปเบเบทเบเบเปเบญเบ. เบเบตเปเบเปเปเปเบเปเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบฎเปเบฒเบ LSB เปเบเป, #
# เปเบเบงเปเบเบเปเปเบเบฒเบก, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบงเบเปเบเบดเปเบเบชเบฑเบเบเบฒเบเปเบเบทเปเบญเบเปเบฒเบเบปเบเบงเปเบฒ #
# เบชเบฑเบเบเบฒเบเบเบตเปเปเบฅเบทเบญเบเบเบฑเปเบเปเบเบฑเบเบเบฒเบเปเบเปเปเบเปเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเบเบฑเบเบเบฑเบเบเบฑเบเบญเบทเปเบเป. #
# #
# เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ: เบเบญเบกเบฎเบฑเบเบเปเบฒเบชเบฐเบเบฃเบดเบเบเบฝเบงเปเบเบฎเบนเบเปเบเบ เบซเบผเบท -{signal} เบซเบผเบท {signal} #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ: #
# 0 - เบเบงเบฒเบกเบชเปเบฒเปเบฅเบฑเบ (เบชเบฑเบเบเบฒเบเบเบตเปเบเบทเบเบเปเบญเบ #
#1 - เบชเบฑเบเบเบฒเบเบเปเปเบเบทเบเบเปเบญเบ #
################################################ ##############################
check_signal()
{
valsig เบเปเบญเบเบเบดเปเบ
# เปเบเบตเปเบกเบเบฒเบเบเบฑเบเบเบฒเบเบเปเปเบเบดเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบชเบฑเบเบเบฒเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบ
valsig="-ALRM -HUP -INT -KILL -PIPE -POLL -PROF -TERM -USR1 -USR2" valsig="${valsig} -VTALRM -STKFLT -PWR -WINCH -CHLD -URG -TSTP -TTIN" valsig= "${valsig} -TTOU -STOP -CONT -ABRT -FPE -ILL -QUIT -SEGV -TRAP" valsig="${valsig} -SYS -EMT -BUS -XCPU -XFSZ -0 -1 -2 -3 - 4 -5 -6 -8 -9"
valsig="${valsig} -11 -13 -14 -15"
echo "${valsig}" | grep -- " ${1} " > /dev/null เบเปเบฒ [ "${?}" -eq "0" ]; เปเบฅเปเบง
เบเบฑเบเบเบทเบ 0
เบญเบทเปเบ
เบเบฑเบเบเบทเบ 1
fi
}
################################################ ##############################
# check_sig_type() #
# เบเบฒเบเบเปเบฒเปเบเป: check_signal [ -{signal} | {signal} ] #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบงเบเปเบเบดเปเบเบงเปเบฒเบชเบฑเบเบเบฒเบเปเบกเปเบเบชเบฑเบเบเบฒเบเบขเบธเบเปเบเบเบเบฒเบเบซเบผเบทเบชเบฑเบเบเบฒเบเบเบงเบเบเบธเบก #
# เบเบตเปเบเปเปเปเบเปเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบฎเปเบฒเบ LSB เปเบเบเปเปเบเบฒเบก, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบ #
# เบเบงเบเปเบเบดเปเบเบชเบฑเบเบเบฒเบเปเบเบทเปเบญเบเปเบฒเบเบปเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบกเบตเบเบธเบเบเบฐเบชเบปเบเบเบตเปเบเบฐเบชเบดเปเบเบชเบธเบ #
# เปเบเบเบเบฒเบเบซเบผเบทเบเบฝเบเปเบเปเบเบงเบเบเบธเบกเบกเบฑเบ. #
# #
# เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ: เบเบญเบกเบฎเบฑเบเบเปเบฒเบชเบฐเบเบฃเบดเบเบเบฝเบงเปเบเบฎเบนเบเปเบเบ เบซเบผเบท -{signal} เบซเบผเบท {signal} #
# #
# เบเปเบฒเบเบฑเบเบเบทเบ: #
# 0 - เบชเบฑเบเบเบฒเบเบเบทเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบขเบธเบเปเบเบเบเบฒเบ #
# 1 - เบชเบฑเบเบเบฒเบเบเบทเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบงเบเบเบธเบกเปเบเบเบเบฒเบ #
################################################ ##############################
check_sig_type()
{
valsig เบเปเบญเบเบเบดเปเบ
# เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบชเบฑเบเบเบฒเบเบเบฒเบเบขเบธเบเปเบเบปเบฒ (เบเปเบฒเบเบฑเบเบเบฑเบเบฅเบฒเบเบเบฒเบเบเบตเปเปเบเปเปเบเบเบเบปเปเบงเปเบ) valsig="-ALRM -INT -KILL -TERM -PWR -STOP -ABRT -QUIT -2 -3 -6 -9 -14 -15"
echo "${valsig}" | grep -- " ${1} " > /dev/null เบเปเบฒ [ "${?}" -eq "0" ]; เปเบฅเปเบง
เบเบฑเบเบเบทเบ 0
เบญเบทเปเบ
เบเบฑเบเบเบทเบ 1
fi
}
################################################ ##############################
# wait_for_user() #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบฅเปเบเปเบฒเบเบนเปเปเบเปเบเบญเบเบเปเบฒเบเปเปเปเบกเปเบเบฅเบฐเบเบปเบเบซเบปเบง #
# #
################################################ ##############################
wait_for_user()
{
# เบฅเปเบเปเบฒเบเบนเปเปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ
[ "${HEADLESS=0}" = "0" ] && เบญเปเบฒเบ ENTER
เบเบฑเบเบเบทเบ 0
}
################################################ ##############################
# is_true() #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบฐเปเบซเบเบเปเบเบทเปเบญเบเบปเบเบชเบญเบเบงเปเบฒเบเบปเบงเปเบเปเบเบฑเบเบเบดเบ | เปเบกเปเบเปเบฅเปเบง | 1 #
# #
################################################ ##############################
is_true()
{
[ "$1" = "1" ] || [ "$1" = "เปเบกเปเบ" ] || [ "$1" = "เบเบดเบ" ] || [ "$1" = "y" ] || [ "$1" = "t" ]
}
# End /lib/lsb/init-functions
เบเบฑเบเบเบทเบ 0
เบญเบทเปเบ
เบเบฑเบเบเบทเบ 1
fi
}
################################################ ##############################
# wait_for_user() #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบฅเปเบเปเบฒเบเบนเปเปเบเปเบเบญเบเบเปเบฒเบเปเปเปเบกเปเบเบฅเบฐเบเบปเบเบซเบปเบง #
# #
################################################ ##############################
wait_for_user()
{
# เบฅเปเบเปเบฒเบเบนเปเปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ
[ "${HEADLESS=0}" = "0" ] && เบญเปเบฒเบ ENTER
เบเบฑเบเบเบทเบ 0
}
################################################ ##############################
# is_true() #
# #
# เบเบธเบเบเบฐเบชเบปเบ: เบเบฐเปเบซเบเบเปเบเบทเปเบญเบเบปเบเบชเบญเบเบงเปเบฒเบเบปเบงเปเบเปเบเบฑเบเบเบดเบ | เปเบกเปเบเปเบฅเปเบง | 1 #
# #
################################################ ##############################
is_true()
{
[ "$1" = "1" ] || [ "$1" = "เปเบกเปเบ" ] || [ "$1" = "เบเบดเบ" ] || [ "$1" = "y" ] || [ "$1" = "t" ]
}
# End /lib/lsb/init-functions
: Gerard Beekmans - [email protected] DJ Lucas - [email protected]
: Bruce Dubbs - [email protected]
: Gerard Beekmans - [email protected] DJ Lucas - [email protected]
: Bruce Dubbs - [email protected]
: LFS 7.0
: LFS 7.0
mountvirtfs
mountvirtfs
S
S