A simple C++ Program to show how to use CreateProcess() is used to create and execute a process with and without arguments. Then used WaitForSingleObject() to check if the process has terminated.
Using Kernel Debugger we could track the "life" of the EProcess struct of the child process. The EProcess struct of a process is only removed when all handles to the process is closed.
The code was written and compiled using VS2017 Professional.