1 ################################################################
2 # File:         /etc/init.d/phpdbg                             #
3 # Author:       krakjoe                                        #
4 # Purpose:      Daemonize phpdbg automatically on boot         #
5 # chkconfig:    2345    07 09                                  #
6 # description:  Starts, stops and restarts phpdbg daemon       #
7 ################################################################
8 LOCKFILE=/var/lock/subsys/phpdbg
9 PIDFILE=/var/run/phpdbg.pid
10 STDIN=4000
11 STDOUT=8000
12 ################################################################
13 # Either set path to phpdbg here or rely on phpdbg in ENV/PATH #
14 ################################################################
15 if [ "x${PHPDBG}" == "x" ]; then
16 	PHPDBG=$(which phpdbg 2>/dev/null)
17 fi
18 ################################################################
19 # Options to pass to phpdbg upon boot                          #
20 ################################################################
21 OPTIONS=
22 LOGFILE=/var/log/phpdbg.log
23 ################################################################
24 #     STOP EDITING STOP EDITING STOP EDITING STOP EDITING      #
25 ################################################################
26 . /etc/rc.d/init.d/functions
27 RETVAL=1
28 ################################################################
29 insanity()
30 {
31 	if [ "x${PHPDBG}" == "x" ]; then
32 		PHPDBG=$(which phpdbg 2>>/dev/null)
33 		if [ $? != 0 ]; then
34 			echo -n $"Fatal: cannot find phpdbg ${PHPDBG}"
35 			echo_failure
36 			echo
37 			return 1
38 		fi
39 	else
40 		if [ ! -x ${PHPDBG} ]; then
41 			echo -n $"Fatal: cannot execute phpdbg ${PHPDBG}"
42 			echo_failure
43 			echo
44 			return 1
45 		fi
46 	fi
47 
48 	return 0
49 }
50 
51 start()
52 {
53 	insanity
54 
55 	if [ $? -eq 1 ]; then
56 		return $RETVAL
57 	fi
58 
59 	echo -n $"Starting: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} "
60 	nohup ${PHPDBG} -l${STDIN}/${STDOUT} ${OPTIONS} 2>>${LOGFILE} 1>/dev/null </dev/null &
61 	PID=$!
62 	RETVAL=$?
63 	if [ $RETVAL -eq 0 ]; then
64 		echo $PID > $PIDFILE
65 		echo_success
66 	else
67 		echo_failure
68 	fi
69 	echo
70 	[ $RETVAL = 0 ] && touch ${LOCKFILE}
71 	return $RETVAL
72 }
73 
74 stop()
75 {
76 	insanity
77 
78 	if [ $? -eq 1 ]; then
79 		return $RETVAL
80 	fi
81 
82 	if [ -f ${LOCKFILE} ] && [ -f ${PIDFILE} ]
83 	then
84 		echo -n $"Stopping: phpdbg ${OPTIONS} on ${STDIN}/${STDOUT} "
85 		kill -s TERM $(cat $PIDFILE)
86 		RETVAL=$?
87 		if [ $RETVAL -eq 0 ]; then
88 			echo_success
89 		else
90 			echo_failure
91 		fi
92 		echo
93 		[ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
94 	else
95 		echo -n $"Error: phpdbg not running"
96 		echo_failure
97 		echo
98 		[ $RETVAL = 1 ]
99 	fi
100 	return $RETVAL
101 }
102 ##################################################################
103 case "$1" in
104 	start)
105 	start
106 	;;
107 	stop)
108 	stop
109 	;;
110 	status)
111 	status $PHPDBG
112 	;;
113 	restart)
114 	$0 stop
115 	$0 start
116 	;;
117 	*)
118 	echo "usage: $0 start|stop|restart|status"
119 	;;
120 esac
121 ###################################################################
122 exit $RETVAL
123