Saludosss a losss pingüinos del lado oscuro. Pues que ocurre que mi madre me suele llamar a comer justo cuando me estoy bajando la cantidad de mensajes que tengo pendiendes en el servidor de noticias, y claro, o espero una eternidad (o nada, dependiendo del día) a que se descargue todo, arriesgándome a que se me enfríe la comida, o mato al pppd y me quedo con los mensajes a medio bajar.
Y claro, uno que tiene delirios de grandeza desde que goza de buena salud y sistema operativo bueno, y va y se inventa el poffwait. Explico: Me conecto como usuario normal (eso de root, mala cosa) usando pon, y me desconecto con poff. Pero claro, poff es inmediato. Pues me he hecho un script, que dependiendo de la existencia de un fichero que se genera mediande el último script ejecutado de mi directorio /etc/ppp/ip-up.d/, llama a poff, o sigue esperando la creación del fichero. La ventaja de esto es evidente: que me llama mi madre y todavía ni ha empezado con el correo, pues nada, tecleo poffwait y me desentiendo de la conexión, porque sé que mi linux y mi script no me van a fallar, dejándome a la merced de los tiburones de Timofónica, y cuando vuelvo, leo el email, hago la digestión, etc, etc. Aquí va el script. Lo he creado como /usr/bin/poffwait, propiedad de root y con grupo dip: --- cortar por la línea, no por el monitor, jeje --- #!/bin/sh logger Poffwait activado: Se cerrará la conexión cuando los procesos actuales finalizen. while echo e> /dev/null ; do sleep 2 if test -e /online; then logger poffwait: La conexión existe. Procediendo a cortarla... poff exit 0 fi done ------- Y obviamente, en el directorio /etc/ppp/ip-up.d/ tengo unos scripts con nombres Snumprograma que se ejecutan y me bajan el correo, las noticias, las páginas güeb, y el último (s99final) contiene: --- #!/bin/sh echo Procesos programados finalizados > /online logger Procesos programados finalizados --- Por supuesto, en el ip-down.d hay un respectivo script que elimina /online para que el poffwait no se vuelva loco la siguiente vez que sea invocado. Fale. Hasta ahí mi contribución. Seguro que no ha sido la única, y además hay expertos aquí que ya lo hacian, ¿verdad? Pues ala, contádme si lo hacéis así, asá, preferís otra forma de hacerlo, las ventajas/inconvenientes de vuestro/mi sistema, etc. Y otras cosas: Tal y como está ahora el script, hay que llamarlo como poffwait & si se quiere seguir haciendo algo mientras dure la conexión. Me gustaría que poffwait se "metiese en segundo plano" automáticamente. La solución sería hacer un poffwait con lo siguiente: #!/bin/sh exec realpoffwait & teniendo el script anterior en el fichero realpoffwat. Pero, ¿hay algún comando propio de shell o forma de hacer que un proceso "se vaya él solito" al background sin dejar de funcionar? Porque sería interesante. Además, así por ejemplo, se podría combinar, y hacer que el proceso sólo se fuese al background después de mostrar un mensaje, o yo que sé qué. Obviamente, veréis que es mi primer script de shell, y habrá algunas cosas chorras. Por ejemplo, no sabía como hacer un while (1==1) de c, así que me saqué el truco del echo www>/dev/null. ¿Hay alguna forma de hacerlo bien, sin recurrir a comandos externos? ¿Existe el goto en bash/sh? Y finalmente una pregunta semi-relacionada: Al hacer un poff, se me corta la conexión y luego se ejecutan los scripts que hay en /etc/ppp/ip-down.d/. ¿Cómo se puede hacer que PRIMERO se ejecuten todos los scripts de desconexión, y luego se corte la comunicación? Así por ejemplo, antes de desconectarme, miraría por última vez el email, y mandaría el que hubiese escrito. Y puestos a rizar el rizo: ¿sería posible sustituir poff por un similar a shutdown que haceptase un parámetro, y fuese algo así?: man poff(x) poff - It runs the ip-down.d scripts, then kills pppd poff now - Immediate pppd slaughter, but also runs script off-line poff wait - Waits until scripts in ip-up.d have been run, then disconnects. (implemented above) SEE ALSO Multitet(4), Wotan (666), Killtab(12). HISTORY Once upon a time, some jerk using one ppp line (yeah, as if the rest of the world (aka usa) didn't have T1 free access) included these unuseful parameters to the already useful poff script, which theoretically helped other people of the old Europe to control their pay-per-la-cara-to-timo- phonic-services big big BIG bills. PD: Disculpad la evidente excitación antinatural en un ser de ultratumba como yo => estoy de exámenes... (suerte a los que también los sufren). Grzegorz Adam Hankiewicz - [EMAIL PROTECTED] Gogosoftware - http://welcome.to/gogosoftware/ Don't compare Linux with Windows. There's no colour (except blue).