El mar, 16-12-2014 a las 18:37 -0500, ERNESTO TUR LAURENCIO escribió:
> Hola lista:
> A raíz de una preocupación de un usuario de los clientes ligeros que tengo
> montado con Nova 2013 mediante LTSP, la cual consistía en el inusual
> congelamiento del cliente, me fijo que la sesión por la cual trabaja el
> usuario mantenía procesos activos en el servidor que habían sido iniciados
> hacía más de una semana y aun habiendo cerrado la sesión y apagado el
> cliente seguían ejecutándose, que una vez finalizados (gracias a la ayuda de
> webmin 1.660) se vio un cambio en cuanto al desempeño de un nuevo inicio de
> sesión.
> Mi pregunta es si alguien se ha topado con esta situación y que puedo hacer
> para que se fuerce el cierre de procesos que lleven más de un tiempo
> determinado en activo, para no verme en la penosa situación de programar un
> reinicio automático cada 3 días, tiempo que considero adecuado en caso de no
> encontrar solución.
> 
> Mientras no aparezca la indicada, goza con la equivocada.
> 
> Salu2


Supongo que podrías usar el comando kill -9 , o killall <proceso> en
combinación con con crontab.

Este es un scripcito para matar tareas que coinciden con un patrón. Lo
postearon en la otra lista hace años (mira que guardo cosas viejas!):


List-Archive: <http://www.linux.cu/pipermail/linux-l/>
X-Original-Date: Sat, 15 Jun 2002 12:03:14 -0400
Date: Sat, 15 Jun 2002 12:03:14 -0400
X-MIME-Autoconverted: from 8bit to quoted-printable by infomed.sld.cu id
g5FG44H24053
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
uucp.ceniai.inf.cu id g5FG4uH33150
X-Fetchmail-Warning: recipient address linu...@mail.linux.cu didn't
match any local name
X-UIDL: 1689133c993b702596554541287dd9ac
Status: R 
X-Status: N

Bueno, si te interesa te mando un scripcito que hice para matar procesos
por nombre (o por un pedacito del nombre), o sea te muestra los procesos
cuyo nombre machean con el patron que tu le escribistes y te pregunta si
quieres matarlos.
Yo le puse "mata", así que si quieres matar algún proceso cuyo nombre
contenga smb le dices: 
$ mata smb      
> root         4  0.0  0.0     0    0 ?        SWN  Jun13   0:00
[smbd] ?
Te muestra la salida de la linea correspondiente al smbd en el formato
del `ps axu`, 
Le dices 'y', <enter>  y te mata ese proceso. Si no quieres matarlo das
'n' y te sigue mostrando procesos que contengan smb en su nombre por si
quieres matarlos, o si das 'q' aborta.  
($ mata -9 smb , si quieres que lo mate con la sennal -9)

Aquí va el scripcito (las criticas son bienvenidas, es la mejor forma de
aprender)
Ya una vez lo tiré en linux-prog pero allí nadie me comento ninguna
posible mejora :-( 

-------------------------------------------------------

#! /bin/bash

# mata: termina los procesos que machan con el patron

PATH=/bin:/usr/bin

case $1 in
"")  echo 'Usar: mata [-9] <patron>' 1>&2 ; exit 1 ;;
-*)  SIG=$1 ; shift ;;
esac

IFS='
'

for i in `ps axu | awk '/'$1'/&&(! match($0,"'$0'")) { print $0 }'`  
do

   echo -n "$i ?"
   read respuesta

   case $respuesta in

   y*) `kill $SIG \`echo $i | awk '{ print $2 }'\`` ;;   #kill!!!

   q*) break ;;                                          #abortar

   esac

done



-- 
M.Sc. Alberto García Fumero
Usuario Linux 97 138, registrado 10/12/1998
Las autoridades sanitarias advierten:
El uso prolongado de Windows puede provocar dependencia.


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a