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 80 81 82 83
|
#!/bin/sh
#
# atop Startup script for the Atop process logging in background
#
# chkconfig: 2345 96 4
# description: Advanced system and process activity monitor
#
### BEGIN INIT INFO
# Provides: atop
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Advanced system and process activity monitor
# Description: Advanced system and process activity monitor
### END INIT INFO
. /lib/lsb/init-functions
# Check existance of binaries
[ -f /usr/bin/atop ] || exit 0
PIDFILE=/run/atop.pid
RETVAL=0
# See how we were called.
case "$1" in
start)
# Check if atop runs already
#
if [ -e $PIDFILE ] && ps -p `cat $PIDFILE` | grep 'atop$' > /dev/null
then
:
else
# Start atop
/usr/share/atop/atop.daily&
fi
touch /run/lock/atop
;;
stop)
# Check if atop runs
#
if [ -e $PIDFILE ] && ps -p `cat $PIDFILE` | grep 'atop$' > /dev/null
then
kill -USR2 `cat $PIDFILE` # final sample and terminate
CNT=0
while ps -p `cat $PIDFILE` > /dev/null
do
CNT=$((CNT + 1))
if [ $CNT -gt 5 ]
then
break;
fi
sleep 1
done
rm $PIDFILE
fi
rm -f /run/lock/atop
;;
status)
;;
reload)
/usr/share/atop/atop.daily&
;;
restart|force-reload)
/usr/share/atop/atop.daily&
;;
*)
echo "Usage: $0 [start|stop|status|reload|restart]"
exit 1
esac
exit $RETVAL
|