Вопросы по теме 'waitpid'

Почему процесс, который я начинаю с Perl system (), не является дочерним процессом?
Perl system () запускает процесс, но разрывает отношения родитель / потомок? test.pl: use POSIX; system("./test.sh &"); my $pid = `ps -C test.sh -o pid=`; print "pid: -$pid-\n"; waitpid($pid, 0); test.sh: while true do...
4288 просмотров
schedule 13.06.2022

Какие системы не поддерживают опцию WNOHANG для waitpid?
У меня есть библиотека для управления дочерними процессами, которая использует параметр POSIX WNOHANG для waitpid для выполнения неблокирующего ожидания процесса. Говорят, что не все системы поддерживают эту опцию, но я уже давно не работал ни с...
719 просмотров
schedule 07.02.2024

Процессы UNIX: fork() и wait()
это мой вопрос о fork() и соответствующем wait() , который состоится: В моем main() я вызываю функцию, скажем, function() , которая использует системный вызов fork() , но я хочу, чтобы function() возвращалась, не дожидаясь завершения...
581 просмотров
schedule 14.10.2022

Waitpid в С++ создает проблемы
Я использую waitpid как указано waitpid(childPID, &status, WNOHANG); Это используется в программе внутри бесконечного цикла, который разветвляется, когда это необходимо, и родительский процесс ожидает возврата дочернего процесса. Но...
629 просмотров
schedule 13.01.2023

Реализация нескольких каналов с использованием системного вызова fork() execvp() wait() pipe() - это просто не работает
Мне нужно реализовать мою оболочку, которая обрабатывает несколько команд канала. Например, мне нужно иметь возможность обрабатывать это: ls | grep -i cs340 | sort | uniq | cut -c 5 . Я предполагаю, что проблема в том, что я не передаю вывод...
9442 просмотров
schedule 11.06.2023

Почему блок else выполняется для дочернего процесса?
Вот программа с вилкой и waitpid . #!/usr/bin/perl use strict; use warnings; my ($childProcessID, $i); print "I AM THE ONLY PROCESS.\n"; $childProcessID = fork (); if ($childProcessID){ print "I am the parent process.\n";...
177 просмотров
schedule 11.01.2023

Использование wait() вместо waitpid() в цикле while
Я знаю, что одно из различий между wait() и waitpid() заключается в том, что у waitpid есть опция WNOHANG, которая указывает, что waitpid не блокируется, если есть запущенные дочерние процессы, которые еще не завершены. Такие как: while ( (pid =...
3025 просмотров
schedule 11.04.2022

нет ошибки дочернего процесса при двойном вызове waitpid
По какой-то причине мне приходится дважды вызывать waitpid для одного и того же дочернего процесса: Вызов waitpid в первый раз и ошибок нет: waitpid(pid, &status, WUNTRACED); Второй раз: waitpid(pid, &status,...
4647 просмотров
schedule 17.02.2024

Как правильно подсчитать фактическое количество разветвленных дочерних процессов?
Некоторое время назад я написал простой SMTP-шлюз для автоматической обработки S/MIME, и теперь дело доходит до тестирования. Как обычно для почтовых серверов, главный процесс создает дочерний процесс для каждого входящего соединения . Хорошей...
1981 просмотров
schedule 28.08.2022

waitpid с execl, используемым в дочернем элементе, возвращает -1 с ECHILD?
Когда мне нужно использовать waitpid, если я использую execl — дочерний процесс, для завершения которого может потребоваться время? Когда я использую waitpid в родительском, он дает мне дочерний процесс, поскольку возвращаемое значение из waitpid...
13485 просмотров
schedule 27.10.2022

Какой выбрать waitpid / wait / waitid?
Я хочу использовать execl в дочернем процессе после выполнения fork. execl выполнит сценарий, который займет около 120 секунд. Я пробовал почти все комбинации с waitpid, wait и waitid с разными аргументами (0, WNOHANG и т. Д.), Но в любом случае я...
2419 просмотров
schedule 02.06.2022

waitpid и open3 в Perl
Если вывод программы, вызываемой open3, слишком велик (более 65536), то waitpid будет работать вечно. use IPC::Open3; use POSIX ":sys_wait_h";...
606 просмотров
schedule 25.12.2022

Родительский и несколько дочерних PID. Форк и ожидание - функции
У меня проблемы с функциями fork/waitpid. Я пытаюсь сделать программу, которая сначала обрабатывает и печатает дочерние PIDS, а затем родительский PID. Мой код: int main(void) { pid_t pid; int rv = 0; int i = 1; pid_t...
2989 просмотров
schedule 31.05.2022

Предотвратить прерывание SIGALRM waitpid()
Я пытаюсь сделать свой процесс waitpid() для дочернего процесса, а также печатать что-то каждый интервал времени. Мой текущий план состоит в том, чтобы запланировать itimer , waitpid() , обработать печать SIGALRM и остановить таймер, когда...
390 просмотров
schedule 25.12.2023

Сделать дочерний процесс не зомби до ожидания
Существует ли метод Linux или POSIX для указания процессу не превращаться в зомби, когда он завершается, а родитель не вызывает waitpid() ? Я знаю, что родительский процесс мы могли бы использовать SA_NOCLDSTOP для обработчика SIGCHLD , но в...
540 просмотров
schedule 10.11.2022

разветвлять 100 процессов одновременно, а иногда некоторые процессы становятся зомби
Я пытаюсь запустить 100 процессов одновременно в следующем коде: int cnt = 0; void sig_handler(int signo) { pid_t pid; int stat; pid = wait(&stat); cout << "cnt:" << ++cnt << ", pid:" << pid << "...
176 просмотров
schedule 15.12.2023

SIGCHLD и fork + waitpid() в библиотеке
Я пишу библиотеку, которая использует fork() и exec() для запуска внешних программ. Код в моей библиотеке работает как отдельный поток. Поток библиотеки должен waitpid() в разветвленном процессе знать код выхода дочернего процесса. К...
722 просмотров
schedule 11.05.2022

Команда тайм-аута Perl в Windows и Linux
Я пишу perl-скрипт, который должен работать в Windows и Linux, который будет запускать процесс, тайм-аут, если он занимает слишком много времени, возвращать код выхода, предполагая, что он не истек, и возвращать стандартный вывод, предполагая, что код...
442 просмотров
schedule 18.08.2022

Верна ли такая интерпретация сигналов?
Мы находимся в родительском процессе, и pid содержит идентификатор дочернего процесса. Мой вопрос в том, что в этом фрагменте кода мы просто ждем сигнала остановки (WUNTRACED)/возобновления (WCONTINUED) для дочернего процесса? Или мы также можем...
26 просмотров
schedule 18.05.2024

Невозможно выйти из цикла после чтения с использованием двух каналов в C (процессы)
Я просмотрел это а также эта ссылка переполнения стека. У меня возникли проблемы с пониманием процесса закрытия концов записи каналов. В приведенном ниже коде у меня есть 3 процесса: один родитель, дочерний элемент родителя и дочерний элемент...
98 просмотров
schedule 24.09.2023