| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/bin/sh
- # a daemon, start and monitor servers
- # 2013-09-27 09:28 created by niujiuru
- # 2026-01-05 13:40 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="$2"
- 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}" "${APPBINS_PATH}/${YFKJ_SSHD}"
- start_if_needed "${APPNAME}" "${APPBINS_PATH}/${APPNAME}"
- sleep $INTERVAL
- done
|