summaryrefslogtreecommitdiffstats
path: root/abs/extra/cups/cups
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/cups/cups')
-rwxr-xr-xabs/extra/cups/cups58
1 files changed, 44 insertions, 14 deletions
diff --git a/abs/extra/cups/cups b/abs/extra/cups/cups
index 4afaf5a..744c8e6 100755
--- a/abs/extra/cups/cups
+++ b/abs/extra/cups/cups
@@ -1,38 +1,68 @@
#!/bin/bash
+daemon_name=cupsd
+
. /etc/rc.conf
. /etc/rc.d/functions
+#. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
-PID=`pidof -o %PPID /usr/sbin/cupsd`
case "$1" in
start)
- stat_busy "Starting CUPS Daemon"
- [ -z "$PID" ] && /usr/sbin/cupsd
- if [ $? -gt 0 ]; then
- stat_fail
+ stat_busy "Starting $daemon_name daemon"
+
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid
+ # RUN
+ $daemon_name
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > /var/run/$daemon_name.pid
+ add_daemon $daemon_name
+ stat_done
+ fi
else
- echo $(pidof -o %PPID -x /usr/sbin/cupsd) > /var/run/cups.pid
- add_daemon cups
- stat_done
+ stat_fail
+ exit 1
fi
;;
+
stop)
- stat_busy "Stopping CUPS Daemon"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
if [ $? -gt 0 ]; then
stat_fail
+ exit 1
else
- rm /var/run/cups.pid
- rm_daemon cups
+ rm -f /var/run/$daemon_name.pid &> /dev/null
+ rm_daemon $daemon_name
stat_done
fi
;;
+
restart)
$0 stop
- sleep 1
+ sleep 3
$0 start
;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
*)
- echo "usage: $0 {start|stop|restart}"
+ echo "usage: $0 {start|stop|restart|status}"
esac
+
exit 0