"fork: Ресурс временно недоступен" из git в MacOS El Capitan

1604
John Roca

Иногда, когда я использую Git и не могу выполнить sudoкоманду, он сообщает

fork: Resource temporarily unavailable

Что это значит, и что мне с этим делать?

3

1 ответ на вопрос

0
Quinn Comendant

Эта ошибка ветвления обычно означает, что родительская программа не смогла выполнить один или несколько дочерних процессов, поскольку был достигнут предел ресурса: максимально допустимое количество процессов ( EAGAINошибка) или максимально допустимое количество памяти ( ENOMEMошибка). Справочная страница Fork (2) гласит:

 Fork() will fail and no child process will be created if:  [EAGAIN] The system-imposed limit on the total number of processes under execution would be exceeded. This limit is configuration-dependent.  [EAGAIN] The system-imposed limit MAXUPRC (<sys/param.h>) on the total number of pro- cesses under execution by a single user would be exceeded.  [ENOMEM] There is insufficient swap space for the new process. 

Есть несколько способов наложения ограничений на OS X:

  • Предел сеанса, установленный ulimitкомандой. Вы можете просмотреть текущий лимит, запустив его ulimit -aи установив новый лимит, например, ulimit -u 1000чтобы установить максимальный предел срабатывания равным 1000. Этот лимит сохраняется до окончания текущего сеанса работы с термином.
  • Системные ограничения устанавливаются с помощью launchd в файле в /Library/LaunchDaemons/limit.maxfiles.plist(только OS X 10.9+).

Для более подробной информации смотрите этот ответ .