Advertisement
under_r00t

killer.sh

Jan 30th, 2015
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.84 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ##FASTKILL Versione 1.5
  4. ## Faster, Pussycat, Kill! Kill! ###
  5. ##noyse.d0g
  6. ## noyse_dog@inventati.org
  7.  
  8. ##CHANGELOG
  9. # V.1 Velocizza il kill dei programmi
  10. # V.1.5 Aggiunta la funzione per il riavvio del programma
  11.  
  12. #colori di output
  13. RED="\e[0;31m" ;
  14. YEL="\e[0;33m" ;
  15. NORM="\e[0m" ;
  16.  
  17. gi=`pgrep $1` ;
  18. ardgi=($(echo $gi | tr " " "\n")) ;
  19. nproc="${#ardgi[@]}" ;
  20. bill="$1" ;
  21.  
  22. #Funzione di HELP, printa delle info utili sull'utilizzo di fastkill
  23. fun_help () {
  24. echo -e $YEL
  25.     echo -e "Fastkill prende come argomento il nome \n del programma, effettua la ricerca del PID \n e lo killa \
  26.     nel caso ci fossero più processi \n inserire il PID o premere <INVIO>"
  27.     echo -e "La funzione RELOAD necessità di daemon, nei sistemi debian-like \n apt-get install daemon "
  28. echo -e  $NORM
  29.  
  30. }
  31.  
  32.  
  33. #Funzione che killa nel caso ci fossero più PID
  34. fun_check_kill() {
  35. echo -e $RED
  36.     echo -e "[!] Sono stati trovati ${#ardgi[@]} processi \n con lo stesso nome!!"
  37. echo -e $NORM
  38. fun_show
  39.     for t in "${!ardgi[@]}"
  40.         do
  41.             echo "Vuoi killare $bill con PID: ${ardgi[t]}"
  42.             read gate          
  43.                 case $gate in
  44.                     n) echo "[*]non killato!" ;;
  45.                     *) sudo kill -9  ${ardgi[t]}
  46.                         fun_controll
  47.                         fun_reload ;;
  48.                 esac
  49.         done
  50. exit 0
  51. }
  52.  
  53. #Funzione di kill principale
  54. fun_killer() {
  55. fun_show
  56.     sudo kill -9 $gi
  57.     fun_controll
  58.     fun_reload
  59. }
  60.  
  61. #Controlla lo stato di uscita
  62. fun_controll() {
  63. if [[ $? -eq 0 ]]
  64.         then
  65.             echo
  66.             echo "avresti killato bill... tutto ok!"
  67.             echo "[-] fatto" #done
  68.         else
  69.             echo
  70.         echo -e $RED
  71.             echo -e "[!] impossibile uccidere: $bill " && exit  #error
  72.         echo -e $NORM
  73.     fi
  74. }
  75.  
  76. # Controlla l'uscita di reload
  77. fun_conreload() {
  78. if [[ $? -eq 0 ]]
  79.         then
  80.             echo
  81.             echo "$bill riavviato con successo... tutto ok!"
  82.             echo "[-] fatto" #done
  83.         else
  84.             echo
  85.         echo -e $RED
  86.             echo -e "[!] impossibile riavviare: $bill " && exit  #error
  87.         echo -e $NORM
  88.     fi
  89. }
  90.  
  91. #Mostra i processi
  92. fun_show() {
  93. echo -e $RED
  94.     echo -e "[!] Proc: $nproc"
  95. echo -e $NORM
  96.     ps -A |grep $bill
  97. }
  98.  
  99. #Funzione per il riavvio dei processi appena killati
  100. fun_reload() {
  101. echo -e $YEL
  102.     read -p '[!]Vuoi riavviare il processo, default No ?' risp
  103.         case $risp in
  104.             s | S | y | Y) daemon $bill &> /dev/null
  105.                         fun_conreload ;;
  106.             *)echo -e "[!] $bill non verrà riavviato " ;;
  107.         esac
  108. echo -e $NORM
  109. exit 0
  110. }
  111.  
  112. #Inizia il main di fastkill
  113. if [[ $nproc -lt 1 ]]
  114.     then
  115.     echo -e $RED
  116.         echo -e "[!] Proc: $nproc"
  117.         echo -e "[!] Nessun processo trovato" && exit
  118.     echo -e $NORM
  119.     else
  120.     echo -e $YEL
  121.         echo -e "###################################################"
  122.         echo -e "###### \tFaster, Pussycat, Kill! Kill! \t   #######"
  123.         echo -e "###################################################"
  124.     echo -e  $NORM
  125. fi
  126.  
  127. if [[ $nproc -ge 2 ]]
  128.     then
  129.         fun_check_kill
  130.        
  131.     else
  132.         fun_killer
  133. fi
  134.  
  135.  
  136. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement