blob: aca37515b34ea781065f1bfd44a0a10d08d96702 [file] [log] [blame]
#!/bin/bash
#
# pkcsslotd Starts pkcsslotd
#
# Authors: Kent E. Yoder <yoder1@us.ibm.com>
# Serge E. Hallyn <serue@us.ibm.com>
# Daniel H. Jones <danjones@us.ibm.com>
#
# chkconfig: - 50 50
# description: pkcsslotd is a daemon which manages cryptographic hardware \
# tokens for the openCryptoki package.
. /etc/init.d/functions
PIDFILE=/var/run/pkcsslotd.pid
LOCKFILE=/var/lock/subsys/pkcsslotd
SLOTDBIN=@METHOD_PATH@/pkcsslotd
CONFSTART=@METHOD_PATH@/pkcs11_startup
[ -f $SLOTDBIN ] || exit 5
[ -f $CONFSTART ] || exit 5
start() {
echo -n $"Starting pkcsslotd: "
# Generate the configuration information
$CONFSTART
## Start daemon with startproc(8). If this fails
## the echo return value is set appropriate.
if [ ! -f $PIDFILE ]; then
# pid file does not exist
daemon --force $SLOTDBIN
elif ! ps -h --pid `cat $PIDFILE` | grep "$SLOTDBIN" 2>&1 >/dev/null; then
# pid file exists but named pid not
rm -f $PIDFILE
daemon --force $SLOTDBIN
else
# just to have "failed" message
daemon $SLOTDBIN
fi
echo
RETVAL=$?
[ $RETVAL -eq 0 ] && touch $LOCKFILE
return $RETVAL
}
stop() {
echo -n $"Shutting down pkcsslotd:"
killproc pkcsslotd -TERM
echo
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
return $RETVAL
}
restart() {
stop
start
}
RETVAL=0
umask 077
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status pkcsslotd $SLOTDBIN
;;
restart|reload)
restart
;;
condrestart)
[ -f $LOCKFILE ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac
exit $?