title: Command Line program via Start.Process does not move cursor with its output
body: <p>I have two command line programs, <code>ParentProgram</code> and <code>ChildProgram</code>. I use the ParentProgram to start the child via <code>StartProcess(&quot;ChildProgram.exe&quot;)</code> and that works fine.</p>
  <p>One of the key things I require is for this to be the very last line that runs for <code>ParentProgram</code>, because <code>ChildProgram</code> is a simple updater that has the primary job of downloading the latest copy of <code>ParentProgram</code> from GitHub. Thus, <code>ChildProgram</code> has a chunk of code that waits to ensure no <code>ParentProgram</code> processes are running before doing the update.</p>
  <p>All of this works fine, but a strange issue is I am running into is any <code>Console.WriteLine(..)</code> calls I make inside of <code>ChildProgram</code> pipe out into the terminal as expected, <strong>but they are failing to move the cursor</strong></p>
  <p>So once <code>ChildProgram</code> has finished running the cursor still remains up at the last line that <code>ParentProgram</code> logged, and you weirdly have now a cursor in the terminal halfway down.</p>
  <p>Is there a &quot;proper&quot; way to fix this issue, or do I simply have to do something hacky like modifying <code>Console.CursorTop</code>?</p>
  <p>It's unreliable because I can't, for sure, tell where the cursor should end up, as the prefix for terminal input could be any length.</p>
  <p>Is the easiest fix to just have <code>StartProcess</code> open another window entirely and have a &quot;Hit enter to finish&quot; CTA at the end of <code>ChildProcess</code>?</p>