Created
August 17, 2018 01:41
-
-
Save Mierenga/e327f8970f13370b18d3d61752e8ce38 to your computer and use it in GitHub Desktop.
basic service script for init.d subsystem
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
### BEGIN INIT INFO | |
# Provides: /opt/dome/server | |
# Required-Start: $remote_fs $syslog | |
# Required-Stop: $remote_fs $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Start daemon at boot time | |
# Description: Enable service provided by daemon. | |
### END INIT INFO | |
dir="/opt/dome/server" | |
cmd="node server.js" | |
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 -p `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 -u "$user" $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 2 3 4 5 6 7 8 9 10 | |
# for i in `seq 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
sudo update-rc.d dome enable
sudo service dome restart