#include #include // wait, getpid, fork #include //strcmp #include //wait #include //getpid using namespace std; void SleepChild(int number) { int sleepTime; int exitStatus; srand(getpid()); sleepTime = rand() % 7+1; cout << "\tChild " << number << " going to sleep for " << sleepTime << " sec" << endl; sleep(sleepTime); exitStatus = 1+rand()%255; cout <<"\tChild " << number << " is exiting with value " << exitStatus << endl; exit(exitStatus); } int main(int argc, char * argv[]) { int status; pid_t childPID; int procCount =1; int i = 1; while (i < argc) { if (0 == strcmp("-p",argv[i]) and argv[i+1] != NULL) { procCount = atoi(argv[i+1]); i+= 2; } else { cout << "error " << argv[i] << endl; i++; } } procCount = max(procCount,1); procCount = min(procCount,10); for(i=0;i