Палка с NOT NULL на всем, пока кто-то не пищит с болью об этом. Тогда удалите его на одном столбце за один раз, максимально неохотно. Избегайте аннулирует в Вашем DB так, как Вы можете, столько, сколько Вы можете.
Да, конечно. Довольно часто процесс запускается, выполняется инициализация данных, а затем создается несколько рабочих процессов.
Если у вас есть какой-то сервер, который прослушивает входящие соединения, вы можете разветвить дочерний процесс для обработки входящего запроса (который не обязательно будет включать exec или каналы).
Другой способ использования fork - отсоединение от родительского процесса (возврат к init, процессу 1). Если какой-то процесс, например, bash с pid 1111, запускает myserver, который получает pid 2222, он будет иметь 1111 в качестве родителя. Предположим, вилка 2222 и потомок получает pid 3333. Если теперь процесс 2222 завершится, 3333 потеряет своего родителя и вместо этого получит init в качестве своего нового родителя.
Эта стратегия иногда используется демонами при запуске, чтобы не иметь родительских отношений с процессом, который его запустил. См. Также этот ответ .
«Использование» вилки заключается в создании Вилочной бомбы
Я написал небольшую оболочку, и она была полна вилки (да, это exec ..), особенно для элементов трубопроводов. страница Википедии на трубе