summaryrefslogtreecommitdiffstats
path: root/system/PrintNode/rc.PrintNode
diff options
context:
space:
mode:
Diffstat (limited to 'system/PrintNode/rc.PrintNode')
-rw-r--r--system/PrintNode/rc.PrintNode92
1 files changed, 92 insertions, 0 deletions
diff --git a/system/PrintNode/rc.PrintNode b/system/PrintNode/rc.PrintNode
new file mode 100644
index 0000000000..bd1ccc74df
--- /dev/null
+++ b/system/PrintNode/rc.PrintNode
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+user="" #<--- EDIT THIS LINE IF YOU WANT TO RUN AS A SPECIFIC USER
+COMPUTERNAME=somehostname
+EMAIL=someone@somewhere.com
+PASSWORD=mysecretpassword
+dir="/PrintNode"
+cmd="/PrintNode/PrintNode --headless --shutdown-on-sigint --web-interface --remove-scales-support --computer-name=$COMPUTERNAME --email=$EMAIL --password=$PASSWORD"
+
+name=`basename $0`
+pid_file="/var/run/$name.pid"
+stdout_log="/var/log/$name.log"
+stderr_log="/var/log/$name.err"
+
+get_pid() {
+ cat "$pid_file"
+}
+
+is_running() {
+ [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ if is_running; then
+ echo "Already started"
+ else
+ echo "Starting $name"
+ cd "$dir"
+ if [ -z "$user" ]; then
+ sudo $cmd >> "$stdout_log" 2>> "$stderr_log" &
+ else
+ sudo su -l "$user" -c "$cmd" >> "$stdout_log" 2>> "$stderr_log" &
+ fi
+ echo $! > "$pid_file"
+ if ! is_running; then
+ echo "Unable to start, see $stdout_log and $stderr_log"
+ exit 1
+ fi
+ fi
+ ;;
+ stop)
+ if is_running; then
+ echo -n "Stopping $name.."
+ kill `get_pid`
+ for i in {1..10}
+ do
+ if ! is_running; then
+ break
+ fi
+
+ echo -n "."
+ sleep 1
+ done
+ echo
+
+ if is_running; then
+ echo "Not stopped; may still be shutting down or shutdown may have failed"
+ exit 1
+ else
+ echo "Stopped"
+ if [ -f "$pid_file" ]; then
+ rm "$pid_file"
+ fi
+ fi
+ else
+ echo "Not running"
+ fi
+ ;;
+ restart)
+ $0 stop
+ if is_running; then
+ echo "Unable to stop, will not attempt to start"
+ exit 1
+ fi
+ $0 start
+ ;;
+ status)
+ if is_running; then
+ echo "Running"
+ else
+ echo "Stopped"
+ exit 1
+ fi
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ exit 1
+ ;;
+esac
+
+exit 0