Eu estava tentando fazer uma recodificação do prompt de comando do Windows em C #. Eu queria saber como o prompt de comando sabe quando esperar que o processo comece a sair e quando não esperar que o processo chamado saia.
Por exemplo, se você digitar no prompt de comando "notepad", o Notepad será iniciado, mas você ainda poderá executar outros comandos. No entanto, se você abrir um utilitário como more.com, ping.exe ou outro utilitário, ele aguardará a conclusão do programa em execução antes de permitir que você execute outro comando.
Como o prompt de comando sabe quando esperar pela saída e como esse comportamento pode ser emulado em C #?