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