(Solved) : Following C Code Include Include Include Include Include Include Include Include Include I Q26357140 . . .

For the following C++ Code:

#include <stdio.h>
#include <string>
#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sstream>
#include <fstream>
#include <sys/stat.h>
#include <fcntl.h>
#include “Processes.h”

using namespace std;

pid_t process_id;

/*
* The starting point of the program.
*/
int main(void)
{
// Call the user-defined function that retrieves the processID
cout << “Part 1: Working With Process IDs” <<endl;
cout << “Process ID: ” << getProcessID() <<endl;
cout << endl << endl;
// Call the user-defined function that creates a new process
cout << “Part 2: Working With Multiple Processes” <<endl;
cout << createNewProcess() << endl;
cout << endl << endl;

// Call the function that call an external OS command
if (process_id != 0)
{
cout << “Part 3: Working With External Commands” <<endl;
char * args[3] = {(char * )”ls”, (char * )”-l”, NULL};
replaceProcess(args);
cout << endl;
}

return 0;

}

1. Modify the getProcessID() function in the file named Processes.cpp a. The function must find and store the processs own process id b. The function must return the process id to the calling program. Hint: search for process id in the System Calls section of the Linux manual.

Edit the following c++ code for expected outcome:

#ifndef Processes_cpp
#define Processes_cpp

#include “Processes.h”

using namespace std;

// Part 1: Working With Process IDs
pid_t getProcessID(void)
{
// TODO: Add your code here

return -1;
}

// Part 2: Working With Multiple Processes
string createNewProcess(void)
{
pid_t id = fork();
// DO NOT CHANGE THIS LINE OF CODE
process_id = id;
if(id == -1)
{
return “Error creating process”;
}
else if (id == 0)
{
// TODO: Add your code here

return “”;

}
else
{
// TODO: Add your code here

return “”;
}
}

// Part 3: Working With External Commands”

void replaceProcess(char * args[])
{
// Spawn a process to execute the user’s command.
pid_t id = fork();
// TODO: Add your code here
}

#endif /* TestProg_cpp */

1. Modify the getProcessID() function in the file named Processes.cpp a. The function must find and store the process’s own process id b. The function must return the process id to the calling program. Hint: search for “process id” in the “System Calls” section of the Linux manual. Show transcribed image text

Expert Answer


Attached