Описание тега waitpid
Функция waitpid() - это функция POSIX, предназначенная для ожидания изменений статуса и для получения информации о статусе дочернего процесса, статус которого изменился.
1
ответ
Почему waitpid не ждет завершения процесса?
В приведенном ниже сценарии я пытаюсь выяснить, как waitpid работает, но не ждет ssh процесс для выхода. done печатается сразу, а не после ssh процесс существует. Вопрос Как сделать waitpid только продолжить, когда пид, который я даю, вышел? #!/usr/…
28 дек '14 в 13:57
3
ответа
Как получить полное возвращаемое значение дочернего процесса?
Мне нужно поймать возвращенное значение дочернего процесса.. Проблема в том, что с помощью функции waitpid() я могу поймать только 8 битов возвращаемого значения WEXITSTATUS(wstatus) возвращает статус выхода ребенка. Он состоит из наименее значащих …
22 июн '18 в 07:23
1
ответ
Форк и waitpid в C
У меня есть этот кусок кода, может быть, я что-то упустил: const int NPROCESSES = 32; pid_t pids[128]; for (int i = 0; i < NPROCESSES;i ++) { pids[i] = fork(); if (!pids[i]) { /*... other code ...*/ exit(0); } } for (int i = 0; i < NPROCESSES;…
18 дек '16 в 18:54
0
ответов
Понимание реентерабельной родительской функции, которая ожидает дочернего процесса неблокирующим образом
У меня есть некоторый код C++, работающий в Linux, в котором рекурентный, возвращающий bool, родительский процесс разветвляет дочерний процесс (конечно, только один раз), а затем использует waitpid для проверки состояния выхода указанного дочернего …
24 июн '17 в 19:50
1
ответ
C в Unix: форк, waitpid и трубы
Мой вопрос о том, как контролировать выполнение процесса в отношении каналов, и, в частности, реализацию wait / waitpid функция. Когда я создаю канал для следующей команды ls | head -3Я делаю следующее: Я создаю трубу, разворачиваю процесс создания …
18 июн '16 в 09:12
2
ответа
Почему waitpid(-1, &status, 0) вообще не приостанавливает процесс без дочерних элементов?
Я не очень хорошо понимаю функцию waitpid(). В руководстве сказано: The wait() system call suspends execution of the calling process until one of its children terminates. The call wait(&status) is equivalent to: waitpid(-1, &status, 0); Исто…
16 ноя '14 в 13:22
2
ответа
UNIX процессы: fork() и wait()
Это мой вопрос fork() и соответствующие wait() Это будет происходить: В моем main()Я вызываю функцию, скажем function() который использует fork() системный вызов, но я хочу function() вернуться, не дожидаясь, пока дети прекратят свое существование, …
13 янв '12 в 17:38
0
ответов
Поведение waitpid() в нескольких потоках?
C++ под Linux (CentOS 6.3), используя pthreads. gcc 4.7. Сейчас я поддерживаю программу, в которой основной поток выполняет блокирующий вызов waitpid(-1,...) для получения всех возможных дочерних элементов. В потоке, порожденном ранее из основного п…
24 фев '15 в 17:27
2
ответа
Ptrace/ ждать не ребенка
int Enable ( int pid) { int status; #if 1 { printf ( "child pid = %d \n", pid ); long ret = ptrace (PTRACE_ATTACH, pid, NULL, NULL); do { int w = waitpid(-1, &status, 0); if (w == -1) { perror("waitpid error :"); exit(EXIT_FAILURE); } if (WIFEXI…
04 дек '13 в 02:23
3
ответа
Параметры ожидания ()
#include<stdio.h> #include<sys/types.h> #include<unistd.h> int main() { int status; int pid = fork();assigned to variable "pid" if(pid == 0) { printf("I am the child with pid = %d\n", getpid()); } else { printf("I am the parent wit…
04 окт '15 в 13:43
2
ответа
Запуск команд из дочернего процесса
Я хочу создать оболочку, в которой дочерний процесс запускает команды linux (с помощью execvp), такие как "ls" и т. Д. Я также хочу иметь возможность запускать команды с аргументами, такими как "ls -a" или "ls -l". /tmp"Родитель должен ждать, пока р…
12 ноя '15 в 22:13
0
ответов
Достаточно ли одного waitpid, чтобы убить процесс?
Эта строка кода уничтожает и пожинает дочерний процесс без операции уничтожения? waitpid(pid,&cs,0); Или это должно быть в этом формате, чтобы убить и пожинать процесс? kill(pid,SIGTERM); waitpid(pid,&cs,0);
18 мар '18 в 08:59
1
ответ
Как дождаться запуска процесса в gnome-терминале> 3.8
GNOME разработчики убрали опцию disable-factory из gnome-терминала примерно в версии 3.8. В то время как в Wheezy есть более старая версия, в Джесси есть 3,14. Когда эта опция использовалась, gnome-терминал (<3.8) оставался в ожидании, пока работающ…
03 ноя '14 в 15:16
1
ответ
Как дождаться завершения нескольких экземпляров одной программы в Linux?
Как мне дождаться завершения нескольких экземпляров одной и той же программы? Ниже моего сценария какие-либо предложения или указатели? Мне нужно перезапустить работающий процесс C. После долгого поиска в Google, я понял, что перезапуск может быть в…
06 авг '15 в 09:43
1
ответ
Функция wait() в Ubuntu
Я изучаю процессы и их поведение в Ubuntu, но я немного запутался в wait(). Итак, мои вопросы: Как выполняется оценка while(wait(NULL)>0); работает? Какова цель NULL в wait()? Я видел вывод в терминале, но родитель выполняет и делает детей, даже ког…
23 сен '12 в 10:27
2
ответа
wait(NULL) не ждет, пока не завершится разветвленный процесс
Это функция, которая выполняет команды в дочернем процессе с помощью system(). Но как только команда завершит выполнение, она должна прекратиться. Тем не менее, при запуске команды ps я обнаружил, что запущен новый процесс a.out. Предполагалось, что…
04 дек '18 в 04:12
3
ответа
Правильный способ получить возвращаемое значение команды wait <pid>
У меня есть следующий код в скрипте bash: for job in `jobs -p`; do echo "PID => ${job}" if ! wait ${job} ; then echo "At least one test failed with exit code => $?" ; EXIT_CODE=1; fi done wait <pid>, в этом случае, wait ${job}, должен ве…
14 фев '17 в 05:24
1
ответ
Какие системы не поддерживают опцию WNOHANG для waitpid?
У меня есть библиотека для управления дочерними процессами, которая основывается на передаче опции POSIX WNOHANG в waitpid для выполнения неблокирующего ожидания процесса. Говорят, что не все системы поддерживают эту опцию, но я давно работал над лю…
13 окт '09 в 18:29
1
ответ
Команда времени ожидания Perl в Windows и Linux
Я пишу Perl-скрипт, который должен работать в Windows и Linux, который будет запускать процесс, тайм-аут, если это займет слишком много времени, вернуть код завершения, если он не истек, и вернуть stdout, предполагая, что код выхода равен нулю, и эт…
13 дек '18 в 21:41
0
ответов
PHP: как обнаружить ошибку дочернего процесса и нормальный выход?
Когда дочерний процесс выдает ошибки, такие как PHP error/warning/note, есть ли способ узнать от родительского процесса? Я пытаюсь следующий код, но он возвращает выход нормально. <?php $pid = pcntl_fork(); if ($pid > 0) { echo "pid: $pid\n"; …
08 фев '19 в 02:50