In: Computer Science
What is the maximum number of processes in the system at any time using the following code segment?
extern char mypath[];
for ( int i = 0; i < 10; i++ ) {
pid_t pid, pid_out;
unsigned char status;
if ( pid = fork() )
pid_out = wait ( &status );
else
execl ( mypath, "child", "parameter", NULL );
}
Assume that child performs some simple computation and returns the result, that is captured in status.
-->
extern char mypath[];
for ( int i = 0; i < 10; i++ ) {
pid_t pid, pid_out;
unsigned char status;
if ( pid = fork() )
pid_out = wait ( &status );
else
execl ( mypath, "child", "parameter", NULL );
}
--> If you see above two bold statements each time a fork() is called a new process will be created,
then the parent process is waiting for the child to complete it's execution before running any new
code.
--> So, maximum number of process at any time in the system is 2.