Вопросы по теме '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