Buenas!estaba tenia que entregar una práctica a las 9 de la mañana sobre una shell en linux, despues de pasar toda el cuatrimestre me quede toda la noche y lo conseguí xDD, ya está enviada y aprobada. Lo único que me extrañó la atención es que hice un manejador de señales de la shell, para controlar si un proceso en segundo plano intenta leer de terminal se suspendiera, esto pensé en arreglaro poniendo pidh=waitpid(ptr->pid,&status,WNOHANG||WUNTRACED); pero accidentalmente puse pidh=waitpid(ptr->pid,&status,WNOHANG|WUNTRACED); (eliminé una barra del or logico, ||)
el caso es que me funciona, y cuando me doy cuenta del fallo lo arreglo poniendo ||, pero ya no funciona , asi que lo dejé como estaba y la envié XDD.
La cosa es que ya por curiosidad lo intenté sacar (después de haberla enviado claro) y no se porque, la shell la hice en ubuntu con c y posix.
A ver si alguien me saca la duda, saludos a todos!