about
12/02/2022
Process Repo
Process code

Process  Repository

Defines a Process class that handles forking new processes

Quick Status Code functions correctly no known defects Demonstration code yes Documentation yes - needs more Test cases no but planned Static library no but planned Build requires C++17 option Planned design changes Add significantly more
functionality

1.0 Concept

The standard C++ libraries have very little functionality for handling Operating System processes. The plan for this repository is to hold C++ classes for managing Windows processes, using a design similar to the .Net Process class.

2.0 Design Musings

Fig 1. ProcessPool Structure
There is no ProcessPool in this repository. I plan to put one here sometime next year.
Intended functionalities for this repository are to:
  • Create child processes, with the ability to configure the way they interact with their parent process.
  • Establish interprocess communication through named-pipes or message-passing communication channels.
  • Gracefully shut down processes.
  • Create and manage process pools - would be useful for a distributed test harness, for example.
Developing a process pool was an assigned project for my Syracuse University graduate course CSE687 in the Fall of 2018. The project statement for that assignment discusses how a process pool can be developed.

3.0 Status

Right now, there is a rudimentary Process class, developed as a prototype for use in CSE687 - Object Oriented Design projects, at Syracuse University. The prototype has very little of the planned functionality. It can create processes, and set a callback function called when a child process shuts down, but very little else. Eventually, my plan is to implement a process pool and associated github repository. Lots of other things to do first. At this time there is just a starter Process package.
  Next Prev Pages Sections About Keys