Цитируется из Википедии:
Функции появления Microsoft Windows основаны на Unix-функциях fork и exec;однако, поскольку Windows не поддерживает fork (по крайней мере, в Win32 API; среды эмуляции POSIX, такие как Cygwin или SFU), функция spawn была предоставлена в качестве замены комбинации fork-exec.
Тем не менее, функция spawn, хотя и адекватно работает с наиболее распространенными вариантами использования, испытывает недостаток в полной мощности fork-exec, так как после fork любые параметры процесса, которые выживут exec, могут быть изменены .Однако в большинстве случаев этот недостаток можно устранить с помощью более низкого уровня API CreateProcess.
Мне было интересно, как понять причину, по которой Windows spaw () слабее, чем Unix fork-exec: "после ветки могут быть изменены любые параметры процесса, которые выживут в exec"?
Когда происходит «изменение» некоторых параметров процесса: между fork и exec или после exec?
Будут ли в дочернем процессе переменные среды, унаследованные от его родительского процесса, exec exec?
Есть ли примеры?
Спасибо и всего наилучшего!