P09 lab code added

This commit is contained in:
Andreas Gieriet
2020-04-26 15:02:50 +02:00
parent 94945069e3
commit f4c374887c
45 changed files with 2116 additions and 0 deletions
@@ -0,0 +1,48 @@
//***************************************************************************
// File: ProcA7.c
// Original Author: M. Thaler (Modul BSY)
//***************************************************************************
//***************************************************************************
// system includes
//***************************************************************************
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
//***************************************************************************
// Function: main(), parameter: none
//***************************************************************************
int main(void) {
pid_t pid;
int j;
for (j = 0; j < 3; j++) { // generate 3 processes
pid = fork();
switch (pid) {
case -1:
perror("Could not fork");
break;
case 0:
sleep(j+2); // process j sleeps for j+2 sec
exit(0); // then exits
break;
default: // parent
break;
}
}
sleep(8); // parent process sleeps for 6 sec
wait(NULL); // consult manual for "wait"
sleep(2);
wait(NULL);
sleep(2);
wait(NULL);
sleep(2);
exit(0);
}
@@ -0,0 +1,27 @@
# *************************************************************
# Original Autor: M. Thaler (Modul BSY)
# *************************************************************
CMP= gcc
CMPFLAGS= -Wall
LDFLAGS=
EXENAMES= aaaa.e
FNAME= ProcA6
LIBNAME=
$(EXENAMES): $(FNAME).o
$(CMP) $(FNAME).o $(LIBNAME) $(LDFLAGS) -o $@
.c.o:
$(CMP) -c $(CMPFLAGS) $<
.cc.o:
$(CMP) -c $(CMPFLAGS) $<
clean:
rm -f *.o $(EXENAMES)
all:
@make clean
@make
@@ -0,0 +1,19 @@
#!/bin/bash
# M. Thaler, InIT/ZHAW 11/2014
# Version v.fs20
if test "$1" = ""
then
cmd="-a"
else
cmd="-C $1"
fi
forever="1"
while test "$forever" = "1"
do
clear
ps $cmd
sleep 1
done