blob: fc678fb503f15f806bf19f6fa587013b46fdcc63 [file] [log] [blame]
#!/bin/sh
trap "" 0 1 2 15
tput clear
# Find the non-local logins, probably on ttyp etc. Or on pts/N.
# grep -E is equivalent to egrep but does not exist everywhere
LOG="`w -s | egrep -v 'tty[0-9]' | tail +2`"
count=`echo "$LOG" | wc -l`
dont_panic() {
dialog --infobox "
THE SYSTEM IS SHUTTING DOWN
!!!!!!!WAIT!!!!!!
!!!!DON'T POWER DOWN YET!!!!!!!!
wait for this message to clear.
$*
" 15 60 &
}
if [ $count -lt 2 ]; then
dont_panic "
The system is shutting down"
/sbin/shutdown -r now "sistema esta en shutdown"
else
dialog --yesno "
There are the following users in
the machine:
`echo "$LOG"`
Shutdown will be delayed by 2 minutes
in order to warn the users.
Do you still want to start the shutdown?
" `expr 14 + $count` 70
if [ $? = 0 ];then
dont_panic "
Shutting down in 2 minutes"
/sbin/shutdown -r +2 "sistema esta en shutdown"
else
sleep 1
dialog --infobox "
The shutdown has been aborted
" 7 50 &
sleep 5
tput clear
fi
fi