aboutsummaryrefslogtreecommitdiff
path: root/system/haveged/rc.haveged
diff options
context:
space:
mode:
Diffstat (limited to 'system/haveged/rc.haveged')
-rw-r--r--system/haveged/rc.haveged47
1 files changed, 47 insertions, 0 deletions
diff --git a/system/haveged/rc.haveged b/system/haveged/rc.haveged
new file mode 100644
index 0000000000000..7f6f5e4fc270c
--- /dev/null
+++ b/system/haveged/rc.haveged
@@ -0,0 +1,47 @@
+#!/bin/sh
+# Start/stop/restart haveged.
+
+PIDFILE=/var/run/haveged.pid
+HAVEGED_OPTS="-w 1024 -v 1 -p $PIDFILE"
+
+# Start haveged:
+haveged_start() {
+ if [ -f $PIDFILE ]; then
+ echo "HAVEGE daemon is already running as PID $(cat $PIDFILE) " >&2
+ exit 3
+ elif [ -x /usr/sbin/haveged ]; then
+ echo "Starting HAVEGE daemon: /usr/sbin/haveged"
+ /usr/sbin/haveged $HAVEGED_OPTS
+ fi
+}
+
+# Stop haveged:
+haveged_stop() {
+ if [ -r /var/run/haveged.pid ]; then
+ kill $(cat /var/run/haveged.pid)
+ else
+ killall haveged
+ fi
+}
+
+# Restart haveged:
+haveged_restart() {
+ haveged_stop
+ sleep 1
+ haveged_start
+}
+
+case "$1" in
+'start')
+ haveged_start
+ ;;
+'stop')
+ haveged_stop
+ ;;
+'restart')
+ haveged_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+ exit 2
+esac