HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/cwd/etc/init.d/killprocs
#! /bin/sh
### BEGIN INIT INFO
# Provides:          killprocs
# Required-Start:    $local_fs
# Required-Stop:
# Default-Start:     1
# Default-Stop:
# Short-Description: executed by init(8) upon entering runlevel 1 (single).
### END INIT INFO

PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/lsb/init-functions

do_start () {
	# Kill all processes.
	log_action_begin_msg "Asking all remaining processes to terminate"
	killall5 -15 # 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.
		
		if killall5 -18 ; then
		    :
		else
		    alldead=1
		    break
		fi

		sleep 1
	done
	if [ -z "$alldead" ] ; then
	    log_action_begin_msg "Killing all remaining processes"
	    killall5 -9 # 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)
	do_start
	;;
  restart|reload|force-reload)
	echo "Error: argument '$1' not supported" >&2
	exit 3
	;;
  stop|status)
	# No-op
	;;
  *)
	echo "Usage: $0 start|stop" >&2
	exit 3
	;;
esac