/********************************************************** // Author: Abdirahim Abdi // Assignment: Lab 2 // Class: CSE 660 - Operating Systems // Description: Operating System Commands // File AA.cpp **********************************************************/ #include #include #include #include #include #include #include #include using namespace std; /*************************************/ int main(int argc, char *argv[]) { cout << "Begin Program.\n\n"; cout << "Process ID AA" << ": " << getpid() << "(CODE AA)" << " - Creating Process A, Process C1, Process C1a\n\n"; int process_b=0, process_c1=0, process_c1a = 0; int k, z = 0; process_b = fork(); if (process_b == 0) { execv("BB", argv); } k = wait(&z); sleep(4); process_c1 = fork(); if (process_c1 == 0) { execv("CC", argv); } sleep(4); process_c1a = fork(); if (process_c1a == 0) { execv("CC", argv); } sleep(4); cout << "Process ID AA" << ": " << process_b<< " - terminated.\n\n"; int process_d=0, process_c2=0, process_ee = 0; process_d = fork(); if (process_d == 0) { execv("DD", argv); } k=wait(&z); sleep(4); process_c2 = fork(); if (process_c2 == 0) { execv("CC", argv); } sleep(4); process_ee = fork(); if (process_ee == 0) { execv("EE", argv); } sleep(4); cout << "Process ID AA" << ": " << getpid() << "(CODE AA)"; cout << " - Creating Process ID " << process_d << "(CODE DD), "; cout << "process ID " << process_c2 << "(CODE CC), "; cout << "process ID " << process_ee << "(CODE EE)\n\n"; kill(process_c1, SIGKILL); cout << "Process ID AA" << ": " << getpid() << "(CODE AA)" << " - terminating " << process_c1 << ".\n\n"; kill(process_c1a, SIGKILL); cout << "Process ID AA" << ": " << getpid() << "(CODE AA)" << " - terminating " << process_c1a << ".\n\n"; kill(process_c2, SIGKILL); cout << "Process ID AA" << ": " << getpid() << "(CODE AA)" << " - terminating " << process_c2 << ".\n\n"; cout << "Process ID AA" << ": " << getpid() << "(CODE AA)" << " - Process ID " << process_c1 << " terminated.\n"; cout << "Process ID AA" << ": " << getpid() << "(CODE AA)" << " - Process ID " << process_c1a << " terminated.\n"; cout << "Process ID AA" << ": " << getpid() << "(CODE AA)" << " - Process ID " << process_c2 << " terminated.\n\n"; char inputtedString [200]; cout << "Process ID AA" << ": " << getpid() << "(CODE AA)" << " - Input a character string: "; cin >> inputtedString; char *argv1[3]; argv1[0] = inputtedString; argv1[1] = "ABDIRAHIM ABDI"; argv1[2] = NULL; int process_ff; process_ff = fork(); sleep(2); cout << "Process ID AA" << ": " << getpid() << " - Creating process id(CODE FF) and terminating.\n\n"; sleep(2); if (process_ff == 0) { execv("FF",argv1); } sleep(3); return 0; } /*************************************/