OSDN Git Service

Merge branch 'dev'
[pysilhouette/pysilhouette.git.git] / doc / rc.d / init.d / silhouetted
index 830d2c9..6228f02 100755 (executable)
 # pidfile: /var/run/silhouetted.pid
 #          /var/run/schedulerd.pid
 #          /var/run/performerd.pid
+#          /var/run/asynperformerd.pid
+#          /var/run/asynschedulerd.pid
+#
 # lockfile: /var/lock/subsys/silhouetted
 #           /var/lock/subsys/schedulerd
 #           /var/lock/subsys/performerd
+#           /var/lock/subsys/asynperformerd
+#           /var/lock/subsys/asynschedulerd
+#
 
 source /etc/rc.d/init.d/functions
 source /etc/sysconfig/network
@@ -33,6 +39,8 @@ progd="silhouetted"
 app="pysilhouette"
 sch_progd='schedulerd'
 per_progd='performerd'
+asyn_sch_progd='asynschedulerd'
+asyn_per_progd='asynperformerd'
 
 sysconfig="/etc/sysconfig/${progd}"
 
@@ -53,6 +61,10 @@ sch_pidfile="/var/run/${sch_progd}.pid"
 sch_lockfile="/var/lock/subsys/${sch_progd}"
 per_pidfile="/var/run/${per_progd}.pid"
 per_lockfile="/var/lock/subsys/${per_progd}"
+asyn_sch_pidfile="/var/run/${asyn_sch_progd}.pid"
+asyn_sch_lockfile="/var/lock/subsys/${asyn_sch_progd}"
+asyn_per_pidfile="/var/run/${asyn_per_progd}.pid"
+asyn_per_lockfile="/var/lock/subsys/${asyn_per_progd}"
 
 # Daemon mode.
 extra_args=""
@@ -78,15 +90,15 @@ start() {
            return 1
     fi
 
-    touch ${pidfile} ${sch_pidfile} ${per_pidfile}
-    chown ${USER}:${GROUP} ${pidfile} ${sch_pidfile} ${per_pidfile}
+    touch ${pidfile} ${sch_pidfile} ${per_pidfile} ${asyn_sch_pidfile} ${asyn_per_pidfile}
+    chown ${USER}:${GROUP} ${pidfile} ${sch_pidfile} ${per_pidfile} ${asyn_sch_pidfile} ${asyn_per_pidfile}
     if [ "x${PYTHON_SEARCH_PATH}" != "x" ]; then
         env="PYTHONPATH=${PYTHON_SEARCH_PATH}:\$PYTHONPATH"
     fi
     ${SU} -l ${USER} -c "${env} ${PYTHON} ${PREFIX}/opt/pysilhouette/bin/${prog}.py ${CMD_ARGS}"
     RETVAL=$?
     if [ ${RETVAL} -eq 0 ]; then
-        touch ${lockfile} ${sch_lockfile} ${per_lockfile}
+        touch ${lockfile} ${sch_lockfile} ${per_lockfile} ${asyn_sch_lockfile} ${asyn_per_lockfile}
         success
     else
         failure 
@@ -120,24 +132,46 @@ stop() {
     if [ ${SIL_RETVAL} -eq 0 ]; then
         rm -f ${lockfile}
         rm -f ${pidfile}
-    fi  
+    fi
+
+    # scheduler
     eval "/etc/rc.d/init.d/${sch_progd} stop"
     SCH_RETVAL=$?
     if [ ${SCH_RETVAL} -eq 0 ]; then
         rm -f ${sch_lockfile}
         rm -f ${sch_pidfile}
-    fi  
+    fi
+
+    # performer
     eval "/etc/rc.d/init.d/${per_progd} stop"
     PER_RETVAL=$?
     if [ ${PER_RETVAL} -eq 0 ]; then
         rm -f ${per_lockfile}
         rm -f ${per_pidfile}
-    fi  
+    fi
+
+    # asynscheduler
+    eval "/etc/rc.d/init.d/${asyn_sch_progd} stop"
+    ASYN_SCH_RETVAL=$?
+    if [ ${ASYN_SCH_RETVAL} -eq 0 ]; then
+        rm -f ${asyn_sch_lockfile}
+        rm -f ${asyn_sch_pidfile}
+    fi
+
+    # asynperformer
+    eval "/etc/rc.d/init.d/${asyn_per_progd} stop"
+    ASYN_PER_RETVAL=$?
+    if [ ${ASYN_PER_RETVAL} -eq 0 ]; then
+        rm -f ${asyn_per_lockfile}
+        rm -f ${asyn_per_pidfile}
+    fi
+
     # The return code of the performer daemon is the first digit. 
     # The return code of the scheduler daemon is the second digit. 
     # The return code of the silhouetted daemon is the third digit. 
     # All stop functions return only the exit code of 0(Normal) or 1(Abnormal).
-    RETVAL=`expr ${SIL_RETVAL} \* 100 + ${SCH_RETVAL} \* 10 + ${PER_RETVAL}`
+    #RETVAL=`expr ${SIL_RETVAL} \* 100 + ${SCH_RETVAL} \* 10 + ${PER_RETVAL}`
+    RETVAL=`expr ${SIL_RETVAL} \* 10000 + ${SCH_RETVAL} \* 1000 + ${PER_RETVAL} \* 100 + ${ASYN_SCH_RETVAL} \* 10 + ${ASYN_PER_RETVAL}`
     return ${RETVAL}
 }
 
@@ -166,6 +200,8 @@ case "$1" in
        status ${progd}
     eval "/etc/rc.d/init.d/${sch_progd} status"
     eval "/etc/rc.d/init.d/${per_progd} status"
+    eval "/etc/rc.d/init.d/${asyn_sch_progd} status"
+    eval "/etc/rc.d/init.d/${asyn_per_progd} status"
        RETVAL=$?
        ;;
     *)