Problemas con ejecuciones en background

Imagen de gus20
0 puntos

Hola a todos! paso a comentarles mi problema. Tengo un script hecho que lo que hace es informar por pantalla Y ejecutar una funcion que actualiza variables, si detecta un cambio en un archivo de configuracion el cual es modificado en tiempo de ejecucion.
En consola ejecuto el script anteriormente descripto en background ( verificar& ) porque necesito seguir realizando tareas con el prompt.
Ahora cuando cambie el archivo de configuracion,el script me va a informar por pantalla el cambio (a traves de un comando echo), pero el problema esta que una vez que informa, el prompt no aparece para insertar un nuevo comando.

Alguien tiene una idea de como poder solucionar este problema?

Muchas Gracias

Imagen de gotxa
+1
0
-1

basta con que le des a Return para que te "baje" una línea más del prompt. No te preocupes, no te va a interpretar el eco de la otra instrucción ni nada parecido.
Si te molesta (a veces es un rollo, la verdad, se me ocurren varias cosas,
- pasando por la más sencilla que es usar otra terminal
- la segunda que es redireccionar la salida de verificar a un archivo de log y, de vez en cuando, revisar este log.

$ verificar >> /fichero/que/sea &
$ ... [a tu rollo]
$ tail -f /fichero/que/sea

(se sale de tail -f con Ctrl+C)

GoTXa
linux counter #116453

+1
0
-1

GoTXa
linux counter #116453
Klaatu barada nikto

Imagen de gus20
+1
0
-1

el problema es que luego de que se modifican los archivos de configuracion y se informa por pantalla no vuelve a aparecer el prompt por mas que haga un return..
te escribo masomenos lo que devuelve mi consola

guest@debian:~$ verificar&
guest@debian:~$ #aca no escribo nada pero en este momento modifico los archivos de configuracion

:::Se ha detectado un cambio en los archivos de configuracion:::
_ #aca me queda el cursor, pero el prompt "guest@debian:~$" NO aparece y necesito que lo haga para seguir introduciendo comandos...
+1
0
-1
Imagen de slap
+1
0
-1

El comando que usas para modificar los ficheros de configuración ¿finaliza su ejecución?

----
Slap

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de gus20
+1
0
-1

Gracias por tu pregunta Slap. Mira el archivo lo cambio a mano desde root y el script esta a la constante espera de una modificacion del archivo de configuracion. En el momento que lo modifico, el script lo detecta y al instante ejecuta una funcion para bajar y actualizar dichos cambios a una estructura (variable,array).

Espero haberme expresado bien.

+1
0
-1
Imagen de gotxa
+1
0
-1

supongo que se trata de un shell script. Ese comportamiento creo que sólo pasaría si la instrucción que sea se espera a una acción tuya (p.ej. tail -f, less...) o que ocupa de alguna manera la salida estándar impidiéndote el control de la consola.
No creo que se trate precisamente de la función que muestra el aviso, sino más bien la que está "a la constante espera de una modificación"... de todas formas sin ver las instrucciones concretas está complicado. El asunto es que no debe ser difícil hacer un debug sobre el script comentando las líneas que creas involucradas.

Una nota: el script no necesariamente ha de terminar, p.ej.
$ cat prueba.sh

#!/bin/bash
while true; do
segundo=`date | cut -d: -f3 | cut -d' ' -f1`
echo "en el segundo $segundo"
sleep 5
done

no termina nunca pero se comporta "como es debido" devolviendo el prompt.

Espero que ayude
GoTXa
linux counter #116453

+1
0
-1

GoTXa
linux counter #116453
Klaatu barada nikto

Imagen de gus20
+1
0
-1

Gracias por responder. Bueno mira estuve probando el ejemplo que me diste y en realidad devuelve el prompt de una "manera poco normal", ya que ni bien si ejecuta el script (obviamente en background) es necesario tocar 2 o 3 veces la tecla "de la flecha hacia arriba" para que finalmente aparezca. No se si sera usual este comportamiento pero espero que no genere conflicto alguno con el resto de los scripts involucrados en el sistema.

Desde ya agradezco tu ayuda.
Saludos!

::Gustavo::

+1
0
-1
Imagen de gotxa
+1
0
-1

eso sí que es raro... ¿y pasa en todas las consolas?
yo tengo el prompt por defecto:

$ set | grep -i prompt
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

Decirte que estoy más bien perdido en esto :-/ nunca me ha pasado algo parecido
GoTXa
linux counter #116453

+1
0
-1

GoTXa
linux counter #116453
Klaatu barada nikto

Imagen de gus20
+1
0
-1

la verdad es que yo tambien estoy perdido...probe con todo lo posible pero no encuentro solucion a este problema, porque se ha convertido en un problema desde que no puedo ingresar ningun otro comando despues de que informa por pantalla que se han cambiado los archivos de configuracion.
Por otra parte, supongo que la variable PROMPT_COMMAND que escribiste anteriormente es una variable de entorno de bash, pero la verdad es que yo hice un set y no figura en mi conjunto de variables, quiza sea porque en Debian no exista. Lo que si esxiste es una variable que se llama PS1 que segun averigue contiene todos los datos que muestra el prompt por defecto en Debian, el mio contiene lo siguiente:

PS1=`\u@\h:\w\ $`

Saludos y MUCHAS GRACIAS por tu tiempo, si llega a haber una solucion la subo.

::Gustavo::

+1
0
-1