Bash - Kill a process

Bash Liste Des Attaques Ovh

Bash - Kill a process

About

How to kill a process

Utility

kill

kill is bash builtin command

kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...
kill -l [sigspec | exit_status]

Send the signal named by sigspec or signum to the processes named by pid or jobspec. sigspec is either a case-insensitive signal name such as SIGKILL (with or without the SIG prefix) or a signal number; signum is a signal number. If sigspec is not present, then SIGTERM is assumed. An argument of -l lists the signal names. If any arguments are supplied when -l is given, the names of the signals corresponding to the arguments are listed, and the return status is 0. The exit_status argument to -l is a number specifying either a signal number or the exit status of a process terminated by a signal. kill returns true if at least one signal was successfully sent, or false if an error occurs or an invalid option is encountered.

pkill

pkill will look up or signal processes based on name and other attributes

Syntax

pkill [-signal] [-fvx] [-n|-o] [-P ppid,...] [-g pgrp,...]
            [-s sid,...] [-u euid,...] [-U uid,...] [-G gid,...]
            [-t term,...] [pattern]

where:

  • - f The full command line is used to match a process with the pattern (Default: process name)

Example

SIGKILL handler

########### SIGKILL handler ############
function _kill() {
   echo "SIGKILL received, shutting down database!"
}

Kill.sh

#!/bin/sh

get_pid ()
{
    os_name=`uname -s`

    case "$os_name" in
	SunOS)
	    ANA_VARIANT="Solaris";;
	HP-UX)
	    ANA_VARIANT="HPUX";;
	AIX)
	    ANA_VARIANT="AIX";;
	Linux)
	    ANA_VARIANT="Linux";;
	CYGWIN_NT-5.*)
	    ANA_VARIANT="Windows";;
	*)
	    ANA_VARIANT="UnknownOS"
    esac

    if [ "$ANA_VARIANT" = "AIX" ]; then
    	echo `ps -u$LOGNAME | grep $1 | awk '{print $2}'` 
    else
    	echo `ps -u$LOGNAME | grep $1 | awk '{print $1}'` 
    fi
}

pid=`get_pid $1`
if test "$pid" ; then
    echo "Killing $1"
    kill -9 $pid
fi
exit 0

where pid is the process id

Wait a little bit before killing

wait_until_done ()
{
  pid=$1
  cnt=${DRILLBIT_TIMEOUT:-300}
  origcnt=$cnt
  while kill -0 $pid > /dev/null 2>&1; do
    if [ $cnt -gt 1 ]; then
      cnt=`expr $cnt - 1`
      sleep 1
    else
      echo "Process did not complete after $origcnt seconds, killing."
      kill -9 $pid
      exit 1
    fi
  done
  return 0
}





Discover More
Bash Liste Des Attaques Ovh
Bash - Builtin Commands

builtin refers to: a builtin command. See or to the specific builtin command. See (useful when defining a function whose name is the same as a shell builtin) The builtin command execute the specified...
Linux - Process

in linux With the ps utility How to get the PID (process identification number) of a process ( $$ pgrep Function example Priority gives the process more or less CPU time than...
Process States
Signal in Operating System

Signal has been borrowed from the modeling of process and are used for process communication



Share this page:
Follow us:
Task Runner