Debian :Nextcloud :Не удается создать или записать в каталог данных /mnt/disk0/nextcloud -data/

Основная причина этого соглашения заключается в том, что если процесс разветвляет потомков, обычно дочерние процессы выполняют часть работы что должен был сделать основной процесс. Вы имели в виду какой-нибудь пример программы, которая разветвляется?

Вот несколько примеров:

  • Программа, выполняющая интенсивные вычисления, может разветвляться. несколько копий самого себя для одновременной работы на нескольких процессорах/ядрах. (Возможно, было бы более привычным использовать для этого нити, но это, безусловно, можно сделать с помощью разветвленных процессов. )Такая программа может быть разработана так, чтобы каждый процесс просто записывает независимый вывод. Но это также было бы общим для основного процесса дождаться, пока все дети закончат, а затем закрепить их результаты.
  • Программы типа netcatиногда иметь один процесс, читающий с хоста А и записывающий на хост Б, и один процесс, читающий с хоста B и записывающий на хост A. (Да, это также можно сделать с помощью потоков.)
  • Тривиально, в случаях find -execи xargs, задача (основной )программы заключается в запуске подчиненной программы и дождитесь завершения. Представьте, что произойдет, если пользователь скажет
    find. -type f -exec cp {} /backup ';'  &&  rm -r.
    и findвышел, не дожидаясь завершения всех копий.

В этих (и других )случаях основная работа программы не выполняется. пока все дочерние процессы не будут завершены. Поэтому программа не должна выходить пока он не дождется всех дочерних процессов (es ).

Конечно, это не единственный способ использования fork. Это обычно для сетевых серверов (, например, FTP и почты ). иметь один основной процесс, который прослушивает входящие соединения, а затем разветвлять дочерний элемент каждый раз, когда он подключается к клиенту. Такие дочерние процессы могут завершаться в произвольное время. (определяются клиентами ), и у основного процесса нет причин ждать своих потомков.

Немного о том, что такое «родительский» процесс/жнец дочерний процесс связан с завершением на самом деле не проблема.

0
24.02.2021, 01:32
0 ответов

Теги

Похожие вопросы