Вопросы с тегом «fork»

7
Зачем нам форк для создания новых процессов?
В Unix всякий раз, когда мы хотим создать новый процесс, мы разветвляем текущий процесс, создавая новый дочерний процесс, который в точности совпадает с родительским процессом; затем мы выполняем системный вызов exec, чтобы заменить все данные из родительского процесса данными для нового процесса. Почему мы сначала создаем копию родительского процесса, а …

3
Почему я не могу разбить мою систему с помощью вилочной бомбы?
Недавно я копал информацию о процессах в GNU / Linux и встретил печально известную вилочную бомбу: :(){ : | :& }; : Теоретически предполагается, что она будет дублироваться бесконечно, пока в системе не закончатся ресурсы ... Тем не менее, я пробовал тестировать как на CLI Debian, так и на графическом …
54 linux  process  fork  ulimit 

4
Почему программа с fork () иногда выводит свой вывод несколько раз?
В программе 1 Hello worldпечатается только один раз, но когда я удаляю \nи запускаю его (программа 2), вывод печатается 8 раз. Может кто-нибудь, пожалуйста, объясните мне значение \nздесь и как это влияет на fork()? Программа 1 #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main() { printf("hello world...\n"); fork(); …
50 c  fork 


2
Почему по умолчанию используется механизм создания процесса fork?
Системный вызов UNIX для создания процесса, fork (), создает дочерний процесс путем копирования родительского процесса. Насколько я понимаю, за этим почти всегда следует вызов exec () для замены пространства памяти дочернего процесса (включая текстовый сегмент). Копирование пространства памяти родителя в fork () всегда казалось мне расточительным (хотя я понимаю, что …

4
Есть ли вариант UNIX, в котором дочерний процесс умирает вместе со своим родителем?
Я уже довольно давно изучаю поведение ядра Linux, и мне всегда было ясно, что: Когда процесс умирает, все его дочерние элементы возвращаются initпроцессу (PID 1) до тех пор, пока они в конечном итоге не умрут. Однако недавно кто-то с большим опытом работы с ядром сказал мне, что: Когда процесс завершается, …
41 process  init  exit  fork 

3
Создание потоков завершается с ошибкой «Ресурс временно недоступен» с ядром 4.3
Я использую докер-сервер в Arch Linux (ядро 4.3.3-2) с несколькими контейнерами. Со времени моей последней перезагрузки сервер Docker и случайные программы в контейнерах аварийно завершают работу с сообщением о невозможности создать поток или (реже) выполнить ветвление. Конкретное сообщение об ошибке зависит от программы, но в большинстве из них упоминается конкретная …
39 linux  docker  limit  fork  thread 

3
Fork vs Clone на 2.6 ядре Linux
У меня есть некоторая путаница относительно вилки и клона. Я видел это: форк для процессов и клон для потоков форк просто вызывает клон, клон используется для всех процессов и потоков Являются ли эти из них точными? В чем разница между этими 2 системными вызовами с ядром Linux 2.6?
37 linux  fork 

3
fork: retry: ресурс временно недоступен
Пока я подключаюсь к своему серверу, я получаю, -bash: fork: retry: Resource temporarily unavailable -bash: fork: retry: Resource temporarily unavailable -bash: fork: retry: Resource temporarily unavailable -bash: fork: retry: Resource temporarily unavailable -bash: fork: Resource temporarily unavailable И я тоже пытаюсь следовать следующим командам, тогда результат такой же. -bash-4.1$ df …
31 linux  fork 

3
Когда вам нужен nohup, если вы уже разветвляетесь, используя '&'?
Сначала этот вопрос связан, но определенно не совпадает с этим очень хорошим вопросом: Разница между nohup, disown и & Я хочу кое-что понять: когда я делаю '&', я разветвляюсь, верно? Всегда ли полезно делать "nohup ... &" или просто и достаточно? Может ли кто-нибудь показать случай, когда вы будете использовать …
26 shell  nohup  fork 

3
Поддерживает ли bash разветвление аналогично fork () в C?
У меня есть сценарий, который я хотел бы разветвить в один момент, чтобы были запущены две копии одного и того же сценария. Например, я хотел бы, чтобы существовал следующий скрипт bash: echo $$ do_fork() echo $$ Если этот bash-скрипт действительно существует, ожидаемый результат будет: <ProcessA PID> <ProcessB PID> <ProcessA PID> …
25 shell  fork 

3
Как копирование при записи в fork () обрабатывает несколько форков?
Согласно Википедии (что может быть не так) Когда выполняется системный вызов fork (), создается копия всех страниц, соответствующих родительскому процессу, загружаемая ОС в отдельную область памяти для дочернего процесса. Но это не нужно в определенных случаях. Рассмотрим случай, когда дочерний процесс выполняет execсистемный вызов "" (который используется для выполнения любого …
23 linux  c  fork 

1
Как работает вилочная бомба?
ПРЕДУПРЕЖДЕНИЕ НЕ ПЫТАЙТЕСЬ ЗАПУСТИТЬ ЭТО НА ПРОИЗВОДСТВЕННОМ МАШИНЕ Читая страницу Википедии по теме, я обычно следую за тем, что происходит со следующим кодом: :(){ :|:& };: выдержка из описания Следующая вилочная бомба была представлена ​​как искусство в 2002 году;56 его точное происхождение неизвестно, но оно существовало в Usenet до 2002 …
22 bash  shell-script  zsh  fork 

4
После того, как fork (), где ребенок начинает его выполнение?
Я пытаюсь изучить программирование в UNIX и натолкнулся на вопрос относительно fork (). Я понимаю, что fork () создает идентичный процесс текущего запущенного процесса, но где он начинается? Например, если у меня есть код int main (int argc, char **argv) { int retval; printf ("This is most definitely the parent …
22 process  c  fork  api 

6
Процесс потомков
Я пытаюсь построить контейнер процесса. Контейнер будет запускать другие программы. Например, bash-скрипт, запускающий фоновые задачи с использованием '&'. Важная особенность, которая мне нужна, заключается в следующем: когда я убиваю контейнер, все, что было создано под ним, должно быть уничтожено. Не только прямые дети, но и их потомки. Когда я начинал …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.