jueves, 12 de agosto de 2010

Catching process from devil with Bash

Cuando se tiene la necesidad de buscar procesos que consuman mucho recurso de computo como memoria o cpu, pero una limitante es lo poco practico de estar detras del comando top todo el tiempo, se nos obliga a pensar el automatizar esta busqueda y que asi nos de tiempo de salir a comer algo o dormir un poco.

En esta ocacion les presento un script que nos ayuda a buscar procesos que consumen mas de 50% de cpu y nos guarda en una bitacora la informacion de este procesos. Desde luego que se le pueden hacer mejoras pero las dejaremos al criterio del usuario. Espero les sea de utilidad.



#!/bin/bash
#Variable para solo encontrar un proceso
status=0

while [ $status -eq 0 ] ;
do
cont=`ps aux | awk '$3>50 { print }' | wc -l`
if [ $cont -gt 0 ]; then
ps aux | awk '$3>50 { print }' >> procesos.txt
date >> procesos.txt
#Podriamos ponerlo a 1 para solo encontrar 1 proceso
status=0
fi

echo scanning...
#esperamos 5 minutos para volver a buscar
sleep 300
done