#!/bin/sh

. ${curdir}/${predir}funcutil

fn_daemonstatus() {
    if [ ! -f ${td_daemon_root}/${td_daemon_name} ] ; then
        #fn_syslang statusdaemonnotfound | tee -a ${td_log_dir}/${td_log_file}
        return 1
    fi
    daemonid=`LANG=C ps -ef | grep "${td_daemon_root}/${td_daemon_name}" | grep -v grep | tr -s ' ' | awk -F' ' '{print $2}'`
    if [ "${daemonid}" != "" ] ; then
        #fn_syslang statusdaemonstart | tee -a ${td_log_dir}/${td_log_file}
        return 0
    else
        #fn_syslang statusdaemonstop | tee -a ${td_log_dir}/${td_log_file}
        return 100
    fi
}

fn_daemonstop() {
    daemonid=`LANG=C ps -ef | grep "${td_daemon_root}/${td_daemon_name}" | grep -v grep | tr -s ' ' | awk -F' ' '{print $2}' | head -1`
    if [ "${daemonid}" != "" ] ; then
        #printf "`fn_syslang stopdaemonbegin`" | tee -a ${td_log_dir}/${td_log_file}
        kill ${daemonid} >> ${td_log_dir}/${td_log_file} 2>&1 &
        fn_daemonkill
        #fn_syslang actiondone | tee -a ${td_log_dir}/${td_log_file}
    fi
}

fn_daemonkill() {
    sleep 5
    daemonid=`LANG=C ps -ef | grep "${td_daemon_root}/${td_daemon_name}" | grep -v grep | tr -s ' ' | awk -F' ' '{print $2}' | head -1`
    if [ "${daemonid}" != "" ] ; then
        kill -9 ${daemonid} >> ${td_log_dir}/${td_log_file} 2>&1 &
        fn_daemonkill
    fi
}

fn_daemonstart() {
    fn_daemonstop

    #printf "`fn_syslang startdaemonbegin`" | tee -a ${td_log_dir}/${td_log_file}

    chmod +x ${td_daemon_root}/${td_daemon_name} >> ${td_log_dir}/${td_log_file} 2>&1 &

    LC_ALL=C LANG=C nohup ${td_daemon_root}/${td_daemon_name} -f ${td_daemon_log} -l DEBUG >> ${td_log_dir}/${td_log_file} 2>&1 &
    #fn_syslang actiondone | tee -a ${td_log_dir}/${td_log_file}
}