| #!/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 |