Haplo wrote:
Estoy intentando ejecutar el comando jobs -l dentro de un script de bash para ver los trabajos activos. Sin embargo no me produce ninguna salida. Es como si no hubiese trabajos a pesar de que tengo varios comando corriendo desde el script en segundo plano. En cambio, cuando lo hago de forma interactiva si funciona. Porque jobs -l no muestra los trabajos en segundo plano que tiene un script de bash?Porque cuando arrancas un script, en realidad se lanza una nueva shell (normalmente sh o bash), que ejecuta el script. El comando "jobs" indica los trabajos de la shell sobre el que se ejecuta el comando. Evidentemente el script que has hecho corre en una shell nueva, y por tanto sin trabajos.No sé exactamente como solucionar el problema de lo que quieres hacer. La solución más sencilla para ver los procesos de un usuario sería usar "ps U usuario", pero no es exactamente lo que querías.
Hola,Gracias por tu respuesta. Ya suponía algo así. Pero lo curioso es que si mi script lanza procesos en segundo plano, el jobs dentro del script tampoco los ve. Cuando en realidad esos procesos se están ejecutando desde el mismo shell que ejecuta el script. Eso es lo que no entiendo.
Saludos, -- --------------------------------------------------- Jose Luis Triviño Rodriguez http://www.lcc.uma.es/~trivino Usuario registrado de linux nº 53043 ---------------------------------------------------