X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=init.d%2Ffreeside-init;h=705afc1846f7277dde4899138a2d38be27947413;hp=9d8530739f932556758b2ef303b11b83334092d0;hb=532fac6eb62b44e56686543efcc641d5c3662147;hpb=5b73387992a96f7b80e40b5ecb2fedabd8a78d6b diff --git a/init.d/freeside-init b/init.d/freeside-init index 9d8530739..705afc184 100644 --- a/init.d/freeside-init +++ b/init.d/freeside-init @@ -16,6 +16,7 @@ ### END INIT INFO QUEUED_USER=%%%QUEUED_USER%%% +API_USER=%%%API_USER%%% SELFSERVICE_USER=%%%SELFSERVICE_USER%%% SELFSERVICE_MACHINES="%%%SELFSERVICE_MACHINES%%%" @@ -31,6 +32,25 @@ export PATH case "$1" in start) # Start daemons. + + for MACHINE in $SELFSERVICE_MACHINES; do + echo -n "Starting freeside-selfservice-server to $MACHINE: " + freeside-selfservice-server $SELFSERVICE_USER $MACHINE + echo "done." + done + + echo -n "Starting freeside-selfservice-xmlrpcd: " + freeside-selfservice-xmlrpcd $SELFSERVICE_USER + echo "done." + + echo -n "Starting freeside-xmlrpcd: " + freeside-xmlrpcd $API_USER + echo "done." + +# echo -n "Starting freeside-jsonrpcd: " +# freeside-jsonrpcd $API_USER +# echo "done." + echo -n "Starting freeside-queued: " #perl -MDBIx::Profile /usr/local/bin/freeside-queued $QUEUED_USER freeside-queued $QUEUED_USER @@ -58,16 +78,6 @@ case "$1" in freeside-cdrrated $QUEUED_USER echo "done." - for MACHINE in $SELFSERVICE_MACHINES; do - echo -n "Starting freeside-selfservice-server to $MACHINE: " - freeside-selfservice-server $SELFSERVICE_USER $MACHINE - echo "done." - done - - echo -n "Starting freeside-selfservice-xmlrpcd: " - freeside-selfservice-xmlrpcd $SELFSERVICE_USER - echo "done." - if [ -e /usr/local/bin/torrus ]; then echo -n "Starting torrus collector: " /usr/local/bin/torrus collector --tree=main @@ -122,10 +132,35 @@ case "$1" in echo "done." fi + if [ -e /var/run/freeside/torrus-srvderive.pid ]; then + echo -n "Stopping freeside-torrus-srvderive: " + kill `cat /var/run/freeside/torrus-srvderive.pid` + echo "done." + fi + + if [ -e /var/run/torrus/collector.main_?.pid ]; then + echo -n "Stopping torrus collector: " + kill `cat /var/run/torrus/collector.main_?.pid` + echo "done." + fi + + if [ -e /var/run/freeside/xmlrpcd.pid ]; then + echo -n "Stopping freeside-xmlrpcd: " + kill `cat /var/run/freeside/xmlrpcd.pid` + echo "done." + fi + +# if [ -e /var/run/freeside/jsonrpcd.pid ]; then +# echo -n "Stopping freeside-jsonrpcd: " +# kill `cat /var/run/freeside/jsonrpcd.pid` +# echo "done." +# fi + if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid ] then echo -n "Stopping (old) freeside-selfservice-server: " kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid` + sleep rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid echo "done." fi @@ -134,9 +169,20 @@ case "$1" in for MACHINE in $SELFSERVICE_MACHINES; do if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid ] then - echo -n "Stopping freeside-selfservice-server to $MACHINE: " - kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` + echo -n "Stopping freeside-selfservice-server to $MACHINE" + howlong=10 + while [ $howlong -gt 0 ] && kill -0 `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` 2>/dev/null; do + echo -n '.' + kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` + sleep 1 + howlong=$(( $howlong - 1 )) + if [ $howlong -eq 0 ]; then + echo -n 'forcefully.' + kill -9 `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid` + fi + done echo "done." + rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid fi done @@ -146,18 +192,6 @@ case "$1" in echo "done." fi - if [ -e /var/run/freeside/torrus-srvderive.pid ]; then - echo -n "Stopping freeside-torrus-srvderive: " - kill `cat /var/run/freeside/torrus-srvderive.pid` - echo "done." - fi - - if [ -e /var/run/torrus/collector.main_?.pid ]; then - echo -n "Stopping torrus collector: " - kill `cat /var/run/torrus/collector.main_?.pid` - echo "done." - fi - ;; restart)