Curso de Introducción a la Terminal y Línea de Comandos

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

¿No te ha pasado que un programa se queda congelado?
Esto puede ser un problema molesto, puesto que el programa puede tener varios procesos, y probablemente no se cierren todos.

Una solución a este problema puede ser la automatización con bash. Donde nos apoyaremos del uso de operadores de control, redirecciones de entradas y un poco de bash scripting.

  • 1. Paso: Crear un archivo
touch endprocess.sh

  • 2. Paso: Editar el archivo con Vim o Nano
sudo vim endprocess.sh

Usaré vim por lo que para escribir se entra al modo interactivo apretando " I ", luego pegas el siguiente código escrito en bash:

#!/bin/bash

if [ $# -eq 0 ]
  then
    echo "No arguments supplied"
    exit 2
fi


file=processes.temp

echo "Getting process from $1 "
ps -aux | grep $1 | awk '{print $2}' > $file


for process in $(cat $file)
do

	kill $process && echo $process 'has been endend'

done
  • 3. Paso: Guardar el programa y otorgarle permisos
    Se guarda presionando ESC, escribiendo “:wq!”. Como se ve en la siguiente imagen.

    Ahora, otorgale permisos de ejecución con el siguiente comando:
sudo chmod +x endprocess.sh

  • 4. Paso: Ejecución y uso
    Una vez creado todo, ahora pasemos al uso del programa, es simple, simplemente recibe un parametro o argumento, como se ve a continuación. En mi caso quiero cerrar Discord por completo, por lo que debo saber el nombre del programa, o qué nombre tienen sus procesos.
sh endprocess.sh discord

o también puedes usar

./endprocess.sh discord

Si queremos cerrar firefox por completo:

./endprocess.sh firefox

  • La magia detrás del programa
    Como lo pudiste observar, el programa hace uso de operadores de control y redirecciones. Usando programas como ps (para obtener procesos en ejecución), grep (para filtrar el resultado de procesos) y awk (para dar un formato más breve el resultado de grep).

ADVERTENCIA

El mal uso del programa puede hacer daños temporales en el funcionamiento del sistema, usalo con cuidado.

Curso de Introducción a la Terminal y Línea de Comandos

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados