#!/bin/sh # a daemon, start and monitor servers # 2013-09-27 09:28 created by niujiuru # 2026-01-05 13:40 updated by niujiuru # 2026-03-10 09:10 updated by niujiuru . "$(dirname "$0")/set_env" . "$(dirname "$0")/modules/funcs/functions.sh" export_env INTERVAL=60 pidfile="${APPRUNS_PATH}/serverdaemon.pid" if [ -f "$pidfile" ]; then pid=$(cat "$pidfile" 2>/dev/null) if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then exit 0 fi rm -f "$pidfile" fi mkdir -p "$(dirname "$pidfile")" echo $$ > "$pidfile" start_if_needed() { name="$1" path="${APPBINS_PATH}/${name}" lock="${APPRUNS_PATH}/${name}.lock" if ! is_running "$path" then rm -f "$lock" echo "starting $name: $path" "$path" & fi } while true do start_if_needed "${YFKJ_SSHD}" # 远程运维服务 start_if_needed "${APPNAME}" # ㊣主应用程序 sleep $INTERVAL done