Я пытался сделать код командной строки Windows на С#. Мне было интересно, как командное окно знает, когда ждать завершения процесса, и когда не ждать выхода вызываемого процесса.
Например, если вы введете командную строку "Блокнот", Notepad запустится, но вы можете выполнить другие команды. Однако, если вы откроете такую утилиту, как more.com, ping.exe или другую утилиту, она будет ждать завершения выполнения программы, прежде чем позволить вам выполнить другую команду.
Как в командной строке известно, когда ждать выхода, и как это поведение можно эмулировать на С#?