Описание тега fork
The `fork()` function is the Unix/Linux/POSIX way of creating a new process by duplicating the calling process.
3
ответа
C - Два процесса, читающие один и тот же файл
У меня есть функция, которая читает файл и возвращает целое число. Есть два процесса, которые используют эту же функцию, и я получаю ошибку сегментации. Функция чтения: int getNumberFromFile() { FILE* fp; char* line; fp = fopen(fileName, "rb"); fget…
18 фев '15 в 03:26
2
ответа
Использование fork() в C?
Мне задали этот вопрос для домашней работы, и я не могу понять это. Если кто-нибудь может мне помочь, я был бы очень признателен. Какая функция библиотеки Linux похожа на fork(), но родительский процесс завершен?
24 апр '13 в 02:08
6
ответов
Доступ к памяти после разветвления очень медленный в Mac OS X
Следующий код выполняется примерно в 200 раз медленнее в Mac OS X, чем в Linux. Я не знаю почему, и проблема не кажется тривиальной. Я подозреваю ошибку в gcc на Mac или в самой Mac OS X или в моем оборудовании. Код разветвляет процесс, который буде…
10 дек '10 в 17:59
4
ответа
Как я могу приостановить разветвленный процесс, который может зависнуть?
Я пишу Perl-скрипт, который запишет некоторые входные данные и отправит эти входные данные во внешнюю программу. Существует небольшая, но ненулевая вероятность, что эта программа зависнет, и я хочу рассчитать время ожидания: my $pid = fork; if ($pid…
26 дек '09 в 09:17
5
ответов
[APUE] Родитель и потомок имеют одинаковое смещение файла после разветвления?
В APUE раздел 8.3 fork functionо совместном использовании файлов между родительским и дочерним процессами,Он сказал: It is important that the parent and the child share the same file offset. И в разделе 8.9 Race Conditionsесть пример: и родитель и п…
28 окт '09 в 09:18
1
ответ
Поставить трубку на стандартный процесс другого процесса
Я использую канал, чтобы отправить массив чисел другому процессу, чтобы отсортировать их. Пока что я могу получить результат от другого процесса, использующего fdopen. Тем не менее, я не могу понять, как отправить данные из канала в качестве стандар…
17 фев '14 в 06:58
2
ответа
Бесплатно в неправильный пул 2608aa8 не 6d3fe8 в test.pl
Ниже приведен мой код: sub test_ms { my $coderef1 = shift; my $coderef2 = shift; if (fork() == 0) { &$coderef1; exit; } &$coderef2; } Когда я запускаю это, я получаю ошибку как Бесплатно в неправильный пул 2608aa8 не 6d3fe8 в test.pl Почему …
18 фев '15 в 10:43
0
ответов
У моих детей отсутствуют проблемы с Fork dup2 и execvp
Этот код должен читать в conc ls -l /bin > Dout/concBin.txt , ls -l /usr/bin > Dout/concUsrBin.txt , ls -l /etc > Dout/concEtc.txt и затем распечатайте ppid, который он должен перенаправить после разветвления, но перед выполнением. в настоя…
01 дек '17 в 06:37
1
ответ
Перенаправить в execlp()
У меня проблема с execlp. Когда я не знаю, как правильно перенаправить команду из массивов указателей на execlp. Например я хочу использовать ls -l | sort -n моя программа принимает только "ls" и "sort" int pfds[2]; pipe(pfds); child_pid = fork(); i…
08 янв '14 в 17:31
1
ответ
Используя трубу в программировании на с
Я использую трубу в c, чтобы создать программу, которая определяет, является ли введенное пользователем целое число четным или нечетным. Кроме того, он должен соответствовать следующим требованиям: родительский процесс должен отправить целое число р…
07 окт '13 в 18:23
1
ответ
Вызвать system() внутри разветвленного (дочернего) процесса, когда у родительского процесса много потоков, сокетов и IPC
У меня есть программа, которая имеет много тем. Некоторые потоки являются TCP-серверами... Каждый сервер запускает новые потоки для обработки любых новых соединений. Внутри одного из потоков, который обрабатывает один клиент, я вызываю fork(). Дочер…
03 сен '15 в 02:20
0
ответов
Как сделать статическую структуру с вызовом fork()
У меня проблема со структурой Это краткое из кода: struct registration{ long port; // port number char host_name[MAXSIZE]; // host name of the client }; struct registration regDB[MAXUSER]; // void handelClient(struct packet *pkt){ int k; for(k=0;k&l…
09 фев '16 в 17:17
7
ответов
Как использовать разделяемую память с Linux в C
У меня есть небольшая проблема с одним из моих проектов. Я пытался найти хорошо документированный пример использования общей памяти с fork() но безуспешно. В основном сценарий таков: когда пользователь запускает программу, мне нужно сохранить два зн…
13 апр '11 в 22:41
1
ответ
Есть ли способ проверить, удастся ли pclose()?
В моем приложении на C++ я вижу pclose (), который зависает, потому что процесс канала завис и никогда не завершается. Можно ли в любом случае сделать что-то вроде select (), чтобы проверить, вернется ли pclose (), потому что дочерний процесс заверш…
19 дек '14 в 22:39
3
ответа
C++, как обмениваться данными между процессами или потоками
У меня есть программа, которая выполняет две разные операции, и я хотел бы поделиться переменными между ними. В настоящее время я использую потоки вместо процессов fork, но у меня возникают проблемы с разделением переменных, даже если я объявил их к…
29 фев '12 в 19:08
2
ответа
Как правильно использовать трубу в цикле, верно ли мое?
Я хочу знать, правильно ли я использую pipe, этот код находится в дочернем процессе fork(), а pfd - указатель канала: char buf[1024]; while(1){ signal(SIGUSR1, OnSigUsr1); sleep(10000); if(get==1){ get=0; close(pfd[1]); read(pfd[0], buf, sizeof(buf)…
07 окт '16 в 16:02
2
ответа
C под Ubuntu - не ожидаемый результат, пытаясь решить "Колесо игры"
Колесо. Основной процесс (A) создаст подпроцесс (B), который создаст другой подпроцесс (C). Затем основной процесс (A) отправит сгенерированное случайное число (от 1000 до 2000) на процесс B. Процесс B вычтет 10 единиц и отправит число на процесс C.…
18 апр '15 в 14:48
1
ответ
git, push --mirror, восстановить удаленные ветки
Я сделал частную вилку публичного репо на GitHub, используя это руководство https://help.github.com/articles/duplicating-a-repository git clone --mirror <path-to-some-public-repo> cd ./some-public-repo.git git remote rm origin git remote add u…
15 май '14 в 09:07
1
ответ
Форк и exec несколько процессов одновременно
Я работаю над самодельной оболочкой (очень простая оболочка). Я решил пойти по пути использования execvp, поскольку мой путь не является изменяемым элементом для моей оболочки. Я сталкиваюсь с проблемой с придуманием логики о том, как разветвлять и …
20 сен '16 в 20:59
2
ответа
Компиляция неправильного файла?
У меня 3 файла - SwimMill.c, Fish.c, а также Pellets.c - каждый из которых компилируется в исполняемый файл. когда SwimMill работает, он использует fork() а также exec() бежать Fish а также Pellets, Однако, по какой-то причине, когда я использую тер…
30 окт '18 в 20:21