Advertisement
angeldp

procesos.sh

Jun 23rd, 2015
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.93 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # procesos.sh
  4. # angeldp
  5.  
  6. # Script en Linux que solicita un proceso de los que hay en ejecución
  7. # y si el nombre introducido no existe o tiene alguna coincidencia  
  8. # sigue ejecutándose el Script hasta que no se introduzca uno correcto.
  9. # Una vez introducido el proceso correcto,  por medio de un menú se puede
  10. # ver la información del proceso, cambiar la prioridad, detener o relanzar
  11. # el proceso y por último matarlo.
  12. clear
  13. if [ "$USER" != "root" ]
  14. then
  15.     echo "Tienes que ser root"
  16.     exit
  17. fi
  18. echo "Introduzca el nombre del proceso"
  19. read PROCESO
  20. AUX=`ps aux | grep $PROCESO | wc -l`
  21. if [ $AUX -gt 1 ]
  22. then
  23.     echo "Hay más de un proceso con ese nombre"
  24.    LISTA=`ps aux | grep $PROCESO | cut -f7`
  25.     echo "$LISTA"
  26.     echo "indique cuál eliges"
  27.     read PROCESO
  28. elif  [ $AUX -eq 0 ]
  29. then
  30.     echo "No hay proceso que se llame $PROCESO"
  31.     echo "Indique uno válido"
  32.    LISTA=`ps aux | cut -f7`
  33.     echo "$LISTA"
  34.     read PROCESO
  35. fi
  36. echo "Pulsa V para ver la información del proceso"
  37. echo "Pulsa M para modificar su prioridad"
  38. echo "Pulsa D para detener / Relanzar el proceso"
  39. echo "pulsa K para matar el proceso"
  40. read -n1 OPCION
  41. case $OPCION in
  42. V) ps aux | grep $PROCESO;;
  43. M) EST=`ps l | grep $PROCESO | tr -s ' ' | cut -d" " -f6 `
  44. echo  "La prioridad actual es: $EST"
  45. echo "Indique la nueva prioridad con +19 máx para bajarla y -20 máx para subirla"
  46. read $PRIORIDAD
  47. PID=`ps aux | grep $PROCESO | tr -s ' ' | cut -d" " -f2`
  48. renice -n $PRIORIDAD -p $PID;;
  49. D) PROC=`ps aux | grep $PROCESO | tr -s ' ' | cut -d " " -f8 `
  50. echo "EL proceso está $PROC"
  51. if [ $PROC = S ]
  52. then
  53.     ps aux | grep $PROCESO | kill -16
  54. else
  55.     ps aux | grep $PROCESO | kill -15
  56. fi
  57. VERF=`ps aux | grep $PROCESO | tr -s ' ' | cut -d " " -f8 `
  58. echo "El proceso ahora está $VERF";;
  59. K) echo "Matar el proceso que ha señalado"
  60. ps aux | grep $PROCESO | kill -9
  61. echo "El proceso se ha matado"
  62. ps aux | grep $PROCESO;;
  63. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement