martes, 6 de mayo de 2008

Eliminando procesos con grep y awk

Es muy común en cualquier sistema operativo, algunas aplicaciones se queden en "DEFUNT" y/o se queden ahi y no respondan a ningún juego de teclas para poder cerrarla, esto sucede ya sea por la falta de recursos (RAM) u otros mecanismos.

En Sistemas Unix, existes diversas formas de hacer un shell script para matar los procesos que no responda a nuestra petición, por ejemplo, el hacer la combinación de awk + grep y obviamente no podía faltar el comando principal "KILL".

El siguiente Script mata cualquier tipo de proceso, obviamente se puede mejorar y claro ponerlo automatizado.
Aquí, anexo una parte del script.

-----


CONT=1
LOGFILE=lista-procesos-defun-log.`date +%y-%m-%d`

echo "Inicia secuencia de busqueda de procesos <>"
sleep 2;
#ps -fea|grep $1 > lista-procesos-defunt.`date +%y-%m-%d`
ps -fea |grep $1 > $LOGFILE
echo "Guardando todos los procesos < $1 > en un fichero ..."
#echo $1
sleep 2;
echo "Eliminando proceso < $1 > ..."
echo " "
for i in `ps -efa |grep $1 |grep -v grep|awk '{print $2}'`
do
echo "Elimimando proceso No. $CONT de $1 "

----

El script completo lo encuentran aquí.

Fuente: www.alcancelibre.org

No hay comentarios: