Foros del Web » Administración de Sistemas » Unix / Linux »

Codigo de una shell de linux en C

Estas en el tema de Codigo de una shell de linux en C en el foro de Unix / Linux en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/01/2008, 12:40
 
Fecha de Ingreso: enero-2008
Mensajes: 2
Antigüedad: 16 años, 3 meses
Puntos: 0
Codigo de una shell de linux en C

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.
  #2 (permalink)  
Antiguo 28/01/2008, 05:03
Avatar de define  
Fecha de Ingreso: enero-2008
Mensajes: 100
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Codigo de una shell de linux en C

¿y que es lo que pasa?, cual es tu duda?? para hacer la shell debes usar pipes y ya esta.... podrias especificar cual es tu duda?
  #3 (permalink)  
Antiguo 28/01/2008, 06:01
 
Fecha de Ingreso: enero-2008
Mensajes: 2
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Codigo de una shell de linux en C

Bueno las pipes, a parte del echo que no se usarlas, no entran en el temario y si no me equivoco, creo que no hay que hacerlo con pipes, aunque si no hay otra pues con eso tendré que hacerlo. ¿Conocéis otra manera de que reciba la señal del hijo?
  #4 (permalink)  
Antiguo 01/02/2008, 17:29
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Codigo de una shell de linux en C

Cita:
Iniciado por joanrufe Ver Mensaje
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.

hola, te agradeceria mucho si me envias a mi correo el codigo fuente para ver como hiciste la parte de primer plano y segundo palno, mi correo es EDITADO... La ayuda se da en los foros anticipadamente gracias

Última edición por BrujoNic; 03/02/2008 a las 23:46
  #5 (permalink)  
Antiguo 01/02/2008, 17:49
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Re: Codigo de una shell de linux en C

Alguien debería explicarle a este usuario por qué es de mal gusto pedir que te envíen la respuesta por correo electrónico.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #6 (permalink)  
Antiguo 03/02/2008, 19:02
Avatar de define  
Fecha de Ingreso: enero-2008
Mensajes: 100
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Codigo de una shell de linux en C

joanrufe, una vez que hice una shell en C, para hacerla multitareas, use pipes, es la forma mas eficiente, y sin duda, todos las consolas echas para linux (gnoe-terminal, konsole, xterm, Eterm...) estan echas a traves de los pipes, para poder hacerlo multitarea.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 15:22.