` { ... }`, как правило, не требует подуровень, в то время как `( ... )` делает. Но когда вы положить `&` после него, это может создать подоболочку в любом случае-это по крайней мере создает фоновый процесс. Не могли бы вы предоставить какие-либо источники или дополнительную информацию? Кажется, как будто ты в основном просто повторяет информацию, представленную в вопрос ответ. @user194756 ждать. Дай мне пост в качестве ответа, так что вы можете принять его. В разделе "Комментарии" - это не правильный способ, чтобы ответить, но больше для разъяснения п. На самом деле любовник цифра, тем лучше :) Это не одна поездка - это два отдельных билета (я уже распечатал посадочные талоны, а) - и два разных авиакомпаний. Должно быть достаточно времени. Хотя я просто беспокоюсь, потому что я не уверен, что процедура применима к моей ситуации :)

Если ваш процесс не наплодить больше детей, которые потребляют больше всего памяти, вы можете использовать вызов setrlimit функции. Более общий пользовательский интерфейс для этого, используя команду ulimit командной оболочки:

$ параметр ulimit -Св 500000 # набор ~500 Мб 
$ pdftoppm ...

Это только ограничения "виртуальной" памяти процесса, принимая во внимание и ограничения—памятью процесс, который вызывается делится с другими процессами, и в памяти, но не защищены (например, большие "кучи" в Java). Все-таки, виртуальная память-это самое близкое приближение к процессам, которые растут очень большими, что указанные ошибки незначительны.

Если ваша программа плодит детей, и это них, который выделить память, он становится более сложным, и вы должны писать вспомогательные скрипты для запуска процессов под свой контроль. Я написал в своем блоге, почему и как.