Это должно упростить интерфейс. Альтернатива fork
и exec
было бы что-то как функция CreateProcess Windows. Заметьте сколько параметров CreateProcess
имеет, и многие из них являются структурами еще с большим количеством параметров. Это вызвано тем, что все, чем Вы могли бы хотеть управлять о новом процессе, должно быть передано CreateProcess
.Действительно, CreateProcess
не имеет достаточного количества параметров, таким образом, Microsoft должна была добавить CreateProcessAsUser и CreateProcessWithLogonW.
С fork/exec
модель, Вам не нужны все те параметры. Вместо этого определенные атрибуты процесса сохраняются через exec
. Это позволяет Вам fork
, затем измените любые атрибуты процесса, которые Вы хотите (использование тех же функций, которые Вы обычно использовали бы), и затем exec
. В Linux, fork
не имеет никаких параметров, и execve
имеет только 3: программа для выполнения, командная строка для предоставления его и ее среды. (Существуют другие exec
функции, но они - просто обертки вокруг execve
если библиотекой C для упрощения случаев общего использования.)
Если Вы хотите запустить процесс с другого текущего каталога: fork
, chdir
, exec
.
Если Вы хотите перенаправить stdin/stdout: fork
, близкие/открытые файлы, exec
.
Если Вы хотите переключить пользователей: fork
, setuid
, exec
.
Все эти вещи могут быть объединены по мере необходимости. Если кто-то придумывает новый вид атрибута процесса, Вы не должны изменяться fork
и exec
.
Как larsks упомянутый, самый современный Unixes используют копию на записи, таким образом, fork
не включает значительные издержки.
Я Установленная Дуга в virtualbox
Виртуальная машина, работающая в vbox, использует эмулированную видеокарту вместо Вашей карты Nvidia.
Что означает, что Nvidia как драйвер является ненужной.
Попробовать X -configure
во-первых, который генерирует зондируемую конфигурацию Xorg, но для современного Xorg не должно быть нужным это вообще. (Если Вы имеете/etc/Xorg/xorg.conf, удаляете его),
У меня тоже была эта проблема во время установки архива на Virtualbox. Она была исправлена после того, как я сделал следующее:
Для установки "mesa" и поддержки Virtualbox выполнил следующее:
pacman -S mesa xf86-video-vesa
pacman -S virtualbox-guestutils
Открыть /etc/modules-load.d/virtualbox.conf
с нано-:
nano /etc/modules-load.d/virtualbox.conf
и запишите в файл следующие строки:
vboxguest
vboxsf
vboxvideo
Нажмите Ctrl+X , введите Y, чтобы подтвердить, что вы хотите "сохранить и выйти", и когда появится запрос на имя файла, нажмите Return, не изменяя имени.
Перезагрузитесь, запустив:
перезагрузка.
Установите следующие пакеты, если вы их еще не установили (они у меня уже были установлены, поэтому я пропустил эту часть):
pacman -S xorg-twm xorg-xclock xterm
Перезапуск X:
стартx
X -configure
возвратыNo device to configure. COnfiguration failed. Server terminated with error (2)
. – Primož Kralj 20.06.2014, 15:36