1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
#!/bin/sh
#
# Start and stop the prime-net client.
test -x /usr/bin/prime-net || exit 0
case "$1" in
start)
echo -n "Starting GIMPS client: prime-net"
cd /var/lib/prime-net || exit 1
# Check if prime-net is running by sending signal 0, which
# has no effect.
if start-stop-daemon --quiet --stop --signal 0 \
--user daemon --name prime-net 2>/dev/null
then
echo " already running."
exit
fi
# Figure out where start-stop-daemon is (it's moved between
# bo and hamm, and it isn't in the path inside a su).
if [ -x /sbin/start-stop-daemon ]; then
ssd=/sbin/start-stop-daemon
else
ssd=/usr/sbin/start-stop-daemon
fi
su daemon -c "$ssd --start --quiet \
--exec ./prime-net -- -B" \
>>prime.log 2>&1 &
echo "."
;;
stop)
echo -n "Stopping the GIMPS client: prime-net"
# Check if prime-net is running by sending signal 0, which
# has no effect.
if start-stop-daemon --quiet --stop --signal 0 \
--user daemon --name prime-net 2>/dev/null
then
start-stop-daemon --quiet --stop \
--exec /usr/bin/prime-net \
--user daemon --name prime-net
attempts=0
while start-stop-daemon --quiet --stop --signal 0 \
--user daemon --name prime-net 2>/dev/null
do
echo -n "."
sleep 1
attempts=`expr $attempts + 1`
if [ $attempts -gt 60 ]
then
echo
echo "prime-net is still running. Giving up!"
exit 1
fi
done
echo
else
echo " not running."
fi
;;
force-reload|restart)
# -HUP has no effect on the client.
# Check if the daemon is actually running.
if start-stop-daemon --quiet --stop --signal 0 \
--user daemon --name prime-net 2>/dev/null
then
$0 stop
$0 start
fi
;;
*)
echo "Usage: /etc/init.d/prime-net {start|stop|restart|force-reload}"
exit 2
esac
exit 0
|