mejor manera para desconectar usuarios remotos
Aldrin Martoq
amartoq en dcc.uchile.cl
Mar Ene 27 11:56:08 CLST 2009
On Tue, 2009-01-27 at 10:55 -0300, Victor Hugo dos Santos wrote:
> 2009/1/27 Alvaro Herrera <alvherre en alvh.no-ip.org>:
> > En realidad creo que con la primera iteración basta, porque si le mandas
> > un SIGHUP al proceso sshd que está dos niveles por debajo del proceso en
> > sshd.pid, éste se encarga de propagar la señal hacia los hijos de más
> > abajo, tal como se supone que un shell debe hacer. En tu ejemplo de más
> > abajo:
> he cierto.. en el primer ejemplo que envio Aldrin, pense que el mejor
> seria obtener los PIDs de cada uno de los procesos y sus subprocesos y
> ordenarlos numéricamente y al revés... entonces enviar una senal desde
> el primer PID hasta el ultimo..
> pero no fue necesario... al menos no vi diferencia/errores en detener
> el proceso padre directamente.
Depende ... hay procesos porfiados que perfectamente se pueden quedar
pegados. Me ha pasado con java por ejemplo, que se colgaba y lo unico
para matarlo era kill -9. Aca un demo:
amartoq en videopodcast:~$ more nomorire.sh
#!/bin/bash
trap "echo no morire..." INT TERM EXIT HUP
while true; do sleep 10; done
amartoq en videopodcast:~$ ./nomorire.sh
root en videopodcast:~# pstree -Ap $(cat /var/run/sshd.pid )
sshd(4859)---sshd(5923)---sshd(5928)---bash(5931)---nomorire.sh(5961)---sleep
root en videopodcast:~# kill -1 5931
root en videopodcast:~# pstree -Ap $(cat /var/run/sshd.pid )
sshd(4859)
root en videopodcast:~# pstree -Ap |grep nomo
|-nomorire.sh(5961)---sleep(6138)
--
Aldrin Martoq <amartoq en dcc.uchile.cl>
http://aldrin.martoq.cl/videopodcast/ http://aldrin.martoq.cl/techblog/
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre : no disponible
Tipo : application/pgp-signature
Tamaño : 197 bytes
Descripción: This is a digitally signed message part
Url : http://listas.inf.utfsm.cl/pipermail/linux/attachments/20090127/a897b7f7/attachment.bin
Más información sobre la lista de distribución Linux