# 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
app="pysilhouette"
sch_progd='schedulerd'
per_progd='performerd'
+asyn_sch_progd='asynschedulerd'
+asyn_per_progd='asynperformerd'
sysconfig="/etc/sysconfig/${progd}"
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=""
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
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}
}
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=$?
;;
*)