diff options
Diffstat (limited to 'beagle/debian-rfs/etc/init.d/sendsigs')
| -rwxr-xr-x | beagle/debian-rfs/etc/init.d/sendsigs | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/beagle/debian-rfs/etc/init.d/sendsigs b/beagle/debian-rfs/etc/init.d/sendsigs deleted file mode 100755 index f5c33c5..0000000 --- a/beagle/debian-rfs/etc/init.d/sendsigs +++ /dev/null @@ -1,126 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: sendsigs -# Required-Start: -# Required-Stop: umountnfs -# Default-Start: -# Default-Stop: 0 6 -# Short-Description: Kill all remaining processes. -# Description: -### END INIT INFO - -PATH=/sbin:/usr/sbin:/bin:/usr/bin - -. /lib/lsb/init-functions - -# Make it possible to see who the misbehaving processes are -report_unkillable() { - if [ -x /usr/bin/pstree ] ; then - echo "Currently running processes (pstree):" - pstree - elif [ -x /bin/ps ] ; then - echo "Currently running processes (ps):" - ps -ef - fi -} - -do_stop () { - OMITPIDS= - - # The /var/run/sendsigs.omit file is used to be compatible - # with Ubuntu. - for omitfile in /var/run/sendsigs.omit /lib/init/rw/sendsigs.omit; do - if [ -e $omitfile ]; then - for pid in $(cat $omitfile); do - OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid" - done - fi - done - - # Load sendsigs.omit.d/packagename files too, to make it - # possible for scripts that need to modify the list of pids at - # run time without race conditions. - if [ -d /lib/init/rw/sendsigs.omit.d/ ]; then - for pidfile in /lib/init/rw/sendsigs.omit.d/*; do - [ -f "$pidfile" ] || continue - for pid in $(cat $pidfile); do - OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid" - done - done - fi - - # Upstart jobs have their own "stop on" clauses that sends - # SIGTERM/SIGKILL just like this, so if they're still running, - # they're supposed to be - if [ -x /sbin/initctl ]; then - for pid in $(initctl list | sed -n -e "/process [0-9]/s/.*process //p"); do - OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid" - done - fi - - # Flush the kernel I/O buffer before we start to kill - # processes, to make sure the IO of already stopped services to - # not slow down the remaining processes to a point where they - # are accidentily killed with SIGKILL because they did not - # manage to shut down in time. - sync - - # Kill all processes. - log_action_begin_msg "Asking all remaining processes to terminate" - killall5 -15 $OMITPIDS # SIGTERM - log_action_end_msg 0 - alldead="" - for seq in 1 2 3 4 5 6 7 8 9 10; do - # use SIGCONT/signal 18 to check if there are - # processes left. No need to check the exit code - # value, because either killall5 work and it make - # sense to wait for processes to die, or it fail and - # there is nothing to wait for. - - # did an upstart job start since we last polled initctl? check - # again on each loop and add any new jobs (e.g., plymouth) to - # the list. If we did miss one starting up, this beats waiting - # 10 seconds before shutting down. - if [ -x /sbin/initctl ]; then - for pid in $(initctl list | sed -n -e "/process [0-9]/s/.*process //p"); do - OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid" - done - fi - if killall5 -18 $OMITPIDS ; then - : - else - alldead=1 - break - fi - - sleep 1 - done - if [ -z "$alldead" ] ; then - report_unkillable - log_action_begin_msg "Killing all remaining processes" - killall5 -9 $OMITPIDS # SIGKILL - log_action_end_msg 1 - else - log_action_begin_msg "All processes ended within $seq seconds." - log_action_end_msg 0 - fi -} - -case "$1" in - start) - # No-op - ;; - restart|reload|force-reload) - echo "Error: argument '$1' not supported" >&2 - exit 3 - ;; - stop) - do_stop - ;; - *) - echo "Usage: $0 start|stop" >&2 - exit 3 - ;; -esac - -: |
