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

Как дождаться завершения запущенного процесса в Perl, если запущенный процесс не является дочерним процессом?
Я просматриваю сценарий Perl, который использует waitpid($pid, 0) для ожидания завершения текущего процесса. Но оператор print , написанный сразу после этого waitpid , печатает его до завершения процесса. Я хочу знать, почему waitpid не ждет...
3549 просмотров
schedule 23.02.2022

Зачем нам нужен системный вызов wait()?
Здравствуйте, я новичок в изучении системных вызовов. В настоящее время я изучаю системные вызовы fork() и wait(). Я знаю, что fork() создает новый дочерний процесс. Что меня смущает, так это вызов wait(). Вот что я понимаю до сих пор: (1) Когда...
655 просмотров
schedule 18.02.2022

где разместить функцию wait_pid для предотвращения процессов зума в Linux?
Я следую OpenSSL примеру многопоточного сервера но в этом примере создаются процессы zoombie. Я исследовал и обнаружил, что должен выполнять waitpid() для каждого разветвленного процесса. Но я не могу понять, куда поместить waitpid(pid, NULL, 0);...
227 просмотров
schedule 10.04.2022

в чем разница между всеми возвращаемыми значениями функции fork?
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<sys/wait.h> #define LG_LIGNE 256 int main(void){ char ligne[LG_LIGNE]; while(1){//afficher un symbole d'invite(prompt)...
99 просмотров
schedule 24.04.2022

Как разветвлять, ждать и убивать процессы независимо от платформы?
У меня есть код C, который использует fork() + exec() , wait() (или waitpid() ) и kill() и предполагает, что они существуют после включения соответствующих заголовков POSIX. Теперь я хочу сделать этот код как можно более многоплатформенным —...
145 просмотров

получение статуса выхода из дочернего процесса в c
Я не могу понять, что у меня не так с этим кодом. Это C на Linux-боксе. Что он должен сделать, так это убить все дочерние процессы, которые я создал, дождаться завершения всех, а затем распечатать строку для каждого дочернего процесса с pid,...
1399 просмотров
schedule 04.06.2022

Модификация переменных в дочернем процессе
Я работаю над Computer Systems, A Programmer's Perspective Брайанта и О'Халларона. В упражнении 8.16 запрашивается вывод программы наподобие (я изменил его, потому что они используют заголовочный файл, который вы можете скачать на их веб-сайте):...
195 просмотров
schedule 25.06.2022

wait(NULL) не ждет завершения разветвленного процесса
Это функция, которая выполняет команды в дочернем процессе, используя system(). Но как только команда завершает выполнение, ожидается, что она остановится. Тем не менее, при запуске команды ps я обнаруживаю, что запущен новый процесс a.out....
730 просмотров
schedule 09.08.2022

Печатать в порядке прекращения?
У меня есть программа, которая генерирует случайное число n, а затем зацикливается n раз. На каждой итерации он рандомизирует значение sleeptime и вызывает fork. Дочерний процесс спит в течение sleeptime секунд, затем завершается со значением...
344 просмотров
schedule 24.08.2022

fork() и waitpid() не ждут ребенка
У меня возникли проблемы с тем, чтобы заставить waitpid работать, может кто-нибудь объяснить, что не так с этим кодом? #include <iostream> #include <sys/wait.h> #include <unistd.h> using namespace std; int main() { string...
792 просмотров
schedule 22.09.2022

Состояние гонки в моем обработчике сигналов POSIX
Следующая программа создает дочернюю программу, которая многократно запускает "/bin/sleep 10". Родитель устанавливает обработчик сигнала для SIGINT, который доставляет SIGINT дочернему элементу. Однако иногда отправка SIGINT дочернему элементу...
655 просмотров
schedule 07.10.2023

wait3 (псевдоним waitpid) возвращает -1 с errno установленным в ECHILD, когда это не должно
Контекст — это проблема с Redis . У нас есть вызов wait3() , который ожидает, пока перезаписывающий дочерний AOF создаст новую версию AOF на диске. Когда дочерний процесс завершен, родитель уведомляется через wait3() , чтобы заменить старый AOF...
1842 просмотров
schedule 20.11.2022

Будет ли выход из программы автоматически закрывать трубу?
Скажем, я создаю канал между дочерним и родительским процессами, и дочерний процесс завершается нормально, будут ли каналы дочернего процесса автоматически закрыты? Кроме того, если у дочернего процесса также есть дочерний процесс, и дочерний...
3189 просмотров
schedule 08.11.2022

waitpid — в каких случаях и WIFEXITED, и WIFSIGNALED будут ложными?
Я запускаю программу Java в качестве демона в Linux, используя jsvc от Apache commons-daemon . Демон «случайно» падает с одним только сообщением: jsvc.exec error: Service did not exit cleanly Это соответствующая часть кода в jsvc ( в...
1919 просмотров
schedule 08.05.2023

waitpid возвращает 0, когда SIGINT (Crtl+c) на дочернем
Я работаю в терминале для университетской работы, но у меня проблемы с поиском готовых детей. У меня есть список, в котором я сохраняю фоновые процессы, и это работает нормально, но когда я вывожу его на передний план и посылаю ему сигнал SIGINT...
266 просмотров
schedule 23.02.2023

Родитель не ждет завершения дочерних процессов, несмотря на сбор урожая
Я полностью осознаю, что есть тонны статей, объясняющих внутреннюю работу динамики процессов родитель-потомок. Я прошел через них и заставил свои вещи работать почти так, как я хочу. Но есть одна вещь, которая меня беспокоит, и я не могу ее понять,...
652 просмотров
schedule 17.12.2022

Использование wait() против waitpid() в c
Итак, я пытаюсь пройти по каталогу (и подкаталогам) и создать новые процессы для сортировки файлов и обхода подкаталогов. Однако у меня возникли небольшие проблемы с пониманием того, насколько полезным будет мой код. Насколько я понимаю, wait()...
1290 просмотров
schedule 20.03.2024

Функция waitpid() возвращает ОШИБКУ (-1), почему?
Я пишу программу, похожую на оболочку Linux, на C. Среди прочего, я реализую две встроенные команды: jobs, history. В jobs я печатаю список работающих в данный момент команд (в фоновом режиме). В history я печатаю список всей истории команд...
75 просмотров
schedule 26.05.2024