Skip to content

Commit

Permalink
SystemV init file for BSD systems, old Linux distributions (RHEL 6) a…
Browse files Browse the repository at this point in the history
…nd Linux dist without systemd
  • Loading branch information
adevress committed May 2, 2016
1 parent c879a20 commit a86fb15
Showing 1 changed file with 113 additions and 0 deletions.
113 changes: 113 additions & 0 deletions misc/systemv/nix-daemon
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
#!/bin/sh
#
# nix-daemon: Starts the nix package manager daemon
#
# chkconfig: 345 24 02
# description: This is a daemon which enable the multi-user mode
# of the nix package manager.
# processname: nix-daemon
# pidfile: /var/run/nix/nix-daemon.pid

### BEGIN INIT INFO
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Starts the nix daemon
# Description: This is a daemon which enable the multi-user mode
# of the nix package manager.
### END INIT INFO

NIX_DAEMON_BIN=/usr/bin/nix-daemon
#NIX_DAEMON_USER="root"
NIX_DAEMON_USER="nix-daemon"
NIX_DAEMON_OPTS="--daemon"

umask 0022

if [ "$1" = 'status' ]; then
test -x $NIX_DAEMON_BIN || exit 4
else
test -x $NIX_DAEMON_BIN || exit 5
fi

# Source function library.
. /etc/init.d/functions

LOCKFILE=/var/lock/subsys/nix-daemon
RUNDIR=/var/run/nix
PIDFILE=${RUNDIR}/nix-daemon.pid
RETVAL=0

base=${0##*/}

start() {

mkdir -p ${RUNDIR}
chown ${NIX_DAEMON_USER}:${NIX_DAEMON_USER} ${RUNDIR}

echo -n $"Starting nix daemon... "

daemonize -u $NIX_DAEMON_USER -p ${PIDFILE} $NIX_DAEMON_BIN $NIX_DAEMON_OPTS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch ${LOCKFILE}
return $RETVAL
}

stop() {
echo -n $"Shutting down nix daemon: "
killproc -p ${PIDFILE} $NIX_DAEMON_BIN
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
echo
return $RETVAL
}

reload() {
echo -n $"Reloading nix daemon... "
killproc -p ${PIDFILE} $NIX_DAEMON_BIN -HUP
RETVAL=$?
echo
return $RETVAL
}

restart() {
stop
start
}

RETVAL=0

# caller switch
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p ${PIDFILE} $NIX_DAEMON_BIN
RETVAL=$?
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
if [ -f $LOCKFILE ]; then
restart
fi
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 2
;;
esac

exit $RETVAL

0 comments on commit a86fb15

Please sign in to comment.