Description
Lab Activity
Activity 1)
Write a program that accomplish the following purpose:
-
Call the system call to create the child process and store the value returned from the call.
-
-
If the returned value is less than zero,
-
-
-
-
Print ‘Unsuccessful Child Process Creation”. ii. Terminate using exit system call
-
-
-
-
If the return value is greater than zero
-
-
-
-
Add a wait system call so that the parent would wait for child process to complete.
-
-
-
-
-
Make a loop that prints even numbers from 1 – 10
-
-
-
-
-
Print “Parent Ends”
-
-
-
-
If the return value is equal to zero
-
-
-
-
Print the parent ID
-
-
-
-
-
Make a loop that prints odd numbers from 1 – 10 iii. Print “Child Ends”
-
-
-
Stop
Activity 2)
Write a program to declare a counter variable initialized by zero. After fork() system call two processes will run in parallel both incrementing their own version of counter and print numbers 1 -5 . After printing numbers child process will sleep for three second, then print process id of its grandparent and terminates by invoking a gedit editor. Meanwhile, its parent waits for its termination.
Activity 3)
Write a program which creates processes 4 processes for parallel programming. Each parent will wait for the termination of its child.
Main process |
Process P1 waiting for |
Process p2 waiting for |
Process p3 runs a bash |
|||
p2 |
p3 |
command |
||||
Activity 4)
Google execl(), execlp() system call and study more about it than what is written in the manual.
https://www.mkssoftware.com/docs/man3/execl.3.asp
Implement the following 9 tree structure. Each node must print its name and PID.
e.g. I am Process A and my PID is 2453