Buenos dias, es la primera vez que posteo en este foro y es una lastima que sea para pedir ayuda, tengo un problema con un código de una shell de linux que debo entregar como practica en mi universidad.
Básicamente el codigo consiste en una linea de comandos que cuando se dispone a ejecutar un comando llama a la funcion fork() para crear un hijo que ejecute el comando con execvp(). El código incluye control de tareas en primer plano y segundo plano. Si el proceso lanzado es de primer plano(fg) el proceso padre esperara por el resultado del hijo, en cambio si ha sido lanzado en segundo plano(bg) un manejador de señales recogerá la señal y la tratara, mientras la shell tiene el control de la terminal. El problema viene cuando hay una tarea ejecutandose en primer plano y otra en segundo plano, si la tarea en segundo plano acaba antes de que acabe la tarea en primer plano, el manejador no esta activo, y la shell esta esperando por la respuesta de la tarea en primer plano.
Como veo que no se pueden subir archivos adjuntos, si requerís del código solo pedírmelo.