Я не понимаю, почему Unix имеет fork ()
для создания новый процесс. В Win32 API у нас есть CreateProcess ()
, который создает новый процесс и загружает исполняемый файл в его адресное пространство, а затем начинает выполнение с точки входа. Однако Unix предлагает форк для создания нового процесса, и я не понимаю, зачем мне дублировать свой процесс, если я хочу запустить другой процесс.
Итак, позвольте мне задать эти два вопроса:
fork ()
, а затем exec ()
более эффективны, почему нет функции forkexec (const char * newProc)
, поскольку мы будем вызывать exec ()
после fork ()
почти в каждом случае? fork ()
существуют вообще?