Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Código de Linux/Unix Shell Scripting - Eliminar procesos antiguos

Eliminar procesos antiguosgráfica de visualizaciones


Linux/Unix Shell Scripting

estrellaestrellaestrellaestrellaestrella
Publicado el 05 de Enero del 2008 por Xavi
8.706 visualizaciones desde el 05 de Enero del 2008. Una media de 28 por semana
Función para eliminar todos los procesos wget del sistema con mas de 10 minutos de antigüedad.

Versión 1
estrellaestrellaestrellaestrellaestrella

Publicado el 05 de Enero del 2008gráfica de visualizaciones de la versión: Versión 1
8.707 visualizaciones desde el 05 de Enero del 2008. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella
#!/bin/sh # http://www.lawebdelprogramador.com # #Funcion para eliminar todos los procesos wget del sistema con mas de 10 minutos #de antiguedad. #Cogemos el id,fecha,proceso que contenga wget y lo guardamos en un fichero tmp ps=`ps -Ao pid,bsdstart,comm | grep wget > tmp` #contamos las lineas del fichero pslines=`cat tmp | wc -l` #determina el tiempo máximo que se dejara un proceso corriendo antes de matarlo maximoMinutos=10 #si hay lienas en el fichero if [ $pslines -gt 0 ];then #cogemos los minutos totales de la fecha del sistema horaSistema=`date +%k` minutoSistema=`date +%M` minutosTotalesSistema=`expr $horaSistema * 60 + $minutoSistema` i=1; #bucle por todas las filas del fichero while [ $i -le $pslines ];do #cogemos una linea line=`head -$i tmp | tail -1` #cogemos la hora de inicio del proceso horainicio=`echo $line | cut -d' ' -f2` #pasamos la hora a minutos hora=`echo $horainicio | cut -d: -f1` minuto=`echo $horainicio | cut -d: -f2` minutosTotales=`expr $hora * 60 + $minuto + $maximoMinutos` #si el proceso lleva mas de 10 minutos en funcionamiento if [ $minutosTotales -lt $minutosTotalesSistema ];then #cogemos el id del proceso idEliminar=`echo $line | cut -d' ' -f1` #eliminamos el proceso kill $idEliminar fi let i=i+1 done fi #eliminamos el fichero temporal rm tmp

Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración del curso
Comentarios