mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-07-28 17:32:00 +08:00
32 lines
825 B
Bash
Executable File
32 lines
825 B
Bash
Executable File
#!/bin/sh
|
|
|
|
. /usr/share/passwall2/utils.sh
|
|
LOCK_FILE=${LOCK_PATH}/${CONFIG}_monitor.lock
|
|
|
|
ENABLED=$(config_t_get global enabled 0)
|
|
[ "$ENABLED" != 1 ] && return 1
|
|
ENABLED=$(config_t_get global_delay start_daemon 0)
|
|
[ "$ENABLED" != 1 ] && return 1
|
|
sleep 58s
|
|
while [ "$ENABLED" -eq 1 ]; do
|
|
[ -f "$LOCK_FILE" ] && {
|
|
sleep 6s
|
|
continue
|
|
}
|
|
touch $LOCK_FILE
|
|
[ -d ${TMP_SCRIPT_FUNC_PATH} ] && {
|
|
for filename in $(ls ${TMP_SCRIPT_FUNC_PATH} | grep -v "^_"); do
|
|
cmd=$(cat ${TMP_SCRIPT_FUNC_PATH}/${filename})
|
|
cmd_check=$(echo $cmd | awk -F '>' '{print $1}')
|
|
icount=$(busybox pgrep -f "$(echo $cmd_check)" | wc -l)
|
|
if [ $icount = 0 ]; then
|
|
#echo "${cmd} crashed, restarting." >> /tmp/log/passwall2.log
|
|
eval $(echo "nohup ${cmd} 2>&1 &") >/dev/null 2>&1 &
|
|
fi
|
|
done
|
|
}
|
|
|
|
rm -f $LOCK_FILE
|
|
sleep 58s
|
|
done
|