[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Timeout de un comando que corre bajo sudo



El Wed, 03 Jun 2015 15:38:10 -0300, Mauro Antivero escribió:

> Estimados, necesito poner un tiempo límite de ejecución a un comando que
> corre bajo sudo. El mismo es el siguiente
> 
> sudo nice iftop -i eth1
> 
> En nuestro caso "nice" está configurado en sudoers, con lo que cualquier
> usuario puede correr iftop si lo ejecuta de la forma anterior. El teme s
> que si hago así:
> 
> timeout -s SIGKILL 5 sudo nice /usr/sbin/iftop -i eth1
> 
> Lo que sucede es que me devuelve a la consola pero iftop sigue
> corriendo! 

Entiendo que con esa instrucción le pones el contador a "sudo" (padre) no 
a "iftop" (hijo) de ahí que no se detenga.

> Pero si hago (habiendo previamente agregado el comando
> timeout a sudoers):
> 
> sudo timeout -s SIGKILL 5 /usr/sbin/iftop -i eth1
> 
> Lo que sucede es que iftop "como que quiere" empezar a funcionar pero no
> sucede nada y a los 5 segundos me devuelve a la consola normal. Lo que
> se ve en si es lo siguiente:
> 
> sudo timeout -s SIGKILL 5 /usr/sbin/iftop -i eth1 interface: eth1 IP
> address is: aaa.bbb.ccc.ddd.eee MAC address is: aa:bb:cc:dd:ee:ff
>
> Ahí se queda 5 segundos y luego sale. Pero por último, si hago como root
> lo siguiente:
> 
> timeout -s SIGKILL 5 iftop -i eth1
> 
> Funciona perfectamente! El tema claro está es que necesito que esto se
> puede hacer sin ser root.
> 
> Les agradecería cualquier ayuda que me puedan dar al respecto. Saludos y
> gracias!!!

Hum... ¿y si pruebas con otras alternativas?

sudo timeout -s SIGKILL 5 nice iftop -i eth1
sudo nice iftop -i eth1 & sleep 5 && kill -s 5 `pidof iftop`

Saludos,

-- 
Camaleón


Reply to: