Unach

Páginas: 27 (6742 palabras) Publicado: 24 de febrero de 2013
Universidad de Murcia
Facultad de Informática
Departamento de Ingeniería y Tecnología de Computadores

Área de Arquitectura y Tecnología de Computadores

PRÁCTICAS DE SS.OO.
I.I./I.T.I. Sistemas/I.T.I. Gestión

Práctica 3  Llamadas al Sistema en Linux

Enero de 

Índice
1.

2.

La llamada

fork

1.1. Ejemplo de uso de fork . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . .
1.2. Ejemplo de uso de exec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Ejemplo de uso de fork y exec conjuntamente . . . . . . . . . . . . . . . . . . . . .
Listados

2.1. fork_exec_wait.c
2.2. runcom.c . . . . .
2.3. signal.c . . . . .
2.4. sigaction.c . . . .
2.5. sigaction_chld.c
2.6. envia.c . . . . . .
2.7. alarma.c . . . . .2.8. pipe3men.c . . .
2.9. pipecapa.c . . . .
2.10. pipe2com.c . . .
2.11. fo_esc.c . . . .
2.12. fo_lee.c . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
..
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
..

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
..
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

3

3
4
5

6

6
7
8
9
1012
13
15
16
17
19
21

3.

PROCESOS

22

4.

COMUNICACIONES ENTRE PROCESOS. SEÑALES

23

5.

COMUNICACIONES ENTRE PROCESOS. TUBERÍAS

24

6.

COMUNICACIONES ENTRE PROCESOS. FIFO's

25

7.

BIBLIOGRAFÍA

25

2

1.

La llamada

fork

1.1. Ejemplo de uso de fork

3

1.2. Ejemplo de uso de exec

4

1.3. Ejemplo de uso de fork y execconjuntamente

5

2.

Listados

2.1. fork_exec_wait.c
1
3
5
7
9

/ ∗ El s i g u i e n t e programa muestra e l uso de f o r k , e x e c y w a i t . . . ∗ /

#include
#include < s t d l i b . h>
#include
int main ( void ) {
int p i d ;
p r i n t f ( " Hasta a q u í hay un ú n i c o p r o c e s o . . . \ n" ) ;
p r i n t f ( " Primera llamada a f o r k . . . \ n" ) ;

11
13

/ ∗Creamos un nuevo p r o c e s o . ∗ /
pid = f o r k ( ) ;

15

if

17
19

else if

21
23

Hola , yo soy e l p r i m e r h i j o . . . \ n" ) ;
Voy a pararme d u r a n t e 60 s e g . y l u e g o t e r m i n a r é . . . \ n" ) ;
{
Hola , soy e l padre . El p i d de mi h i j o e s : %
d\n" , p i d ) ;

/ ∗ Creamos un nuevo p r o c e s o . ∗ /
pid = f o r k ( ) ;
( p i d == 0 ) {p r i n t f ( "HIJO2 : Hola , soy e l segundo h i j o . . . \ n" ) ;
p r i n t f ( "HIJO2 : El segundo h i j o va a e j e c u t a r l a orden ' l s ' . . . \ n" ) ;
e x e c l p ( " l s " , " l s " ,NULL) ;
p r i n t f ( "HIJO2 : S i ve e s t e mensaje , e l e x e c l p no f u n c i o n ó . . . \ n" ) ;
}
( pid > 0) {
p r i n t f ( "PADRE: Hola o t r a vez . Pid de mi segundo h i j o : %...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • unach
  • Unach
  • Unach
  • Tareas unach
  • administracion unach
  • presentacion unach
  • Historia unach
  • unach

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS