Реферат Курсовая Конспект
Синопсис - раздел Образование, Лекція 4 5 Створення процесу # Include < Sys/wait/h > Pid_T Wait (Int *status); Pi...
|
# include < sys/wait/h >
pid_t wait (int *status);
pid_t waitpid (pid_t pid, int *status, int oрtions);
Функція waitpid () аналогічна функції wait () за виключенням того, що вона приймає додаткові параметри pid і oрtions. Параметр pid задає множину дочірніх процесів, для яких зчитується параметр завершення. Іншими словами, значення параметра pid визначає, які процеси попадуть в дану множину.
pid > 0 | Один дочірній процес |
pid = 0 | Довільний дочірній процес, груповий ідентифікатор якого співпадає з ідентифікатором процесу, який викликає |
pid < -1 | Довільні дочірні процеси, груповий ідентифікатор яких рівний абсолютному значенню pid |
pid = -1 | Довільні дочірніпроцеси |
Параметр oрtions визначає, як повинно відбуватися очікування процесу, і може приймати одне із значень наступних констант, визначених в оголошення < sys/wait/h >:
WCONTINUED | Повертає статус завершення довільного дочірнього процесу (заданого параметром pid), про статус не було повідомлено з моменту його зупинки |
WUNTRACED | Повертає статус завершення довільного зупиненого дочірнього процесу (заданого параметром pid), про статус не було повідомлено з моменту його зупинки |
WNOHANG | Процес, який викликає, не призупиняється, якщо статус завершення дочірнього процесу недосяжний. |
Ці константи можуть бути об’єднані за допомогою логічної операції АБО і передані в якості параметра oрtions (наприклад WCONTINUED ½½ WUNTRACED).
Обидві дані функції повертають ідентифікатор (PID) дочірнього процесу, для якого отримано статус завершення. Якщо значення, які містяться в параметрі status, рівне числу 1, це значить, що дочірній процес завершився при наступних умовах:
· процес повернув значення 0 з функції main ();
· процес викликав деяку версію функції exit () з аргументом 0;
· процес був завершений, оскільки завершився останній потік процесу.
В табл. 6 подано макроси, які дозволяють обчислити значення статусу завершення.
Таблиця 6. | Макроси, які дозволяють обчислити значення статусу завершення | |
Макрос | Опис | |
WIFEXITED | Приводиться до нульового значення, якщо статус було повернено нормально завершеним дочірнім процесом | |
WEXITSTATUS | Якщо значення WIFEXITED виявляється ненульовим, то оцінюються молодші 8 біт аргументу status, переданого завершеним дочірнім процесом функції _exit () або exit (), або значення, повернуте функцією main () | |
WIFSIGNALED | Приводиться до ненульового значення, якщо статус було повернено від дочірнього процесу, який завершився, оскільки йому було відправлено сигнал, але цей сигнал не було перехоплено | |
WTERMSIG | Якщо значення WIFSIGNALED виявляється не нульовим, то оцінюється номер сигналу, який став причиною завершення дочірнього процесу | |
WIFSTOPPED | Приводиться до ненульового значення, якщо статус було повернено від дочірнього процесу, який в даний момент зупинено | |
WSTOPSIG | Якщо значення WIFSTOPPED виявляється ненульовим, то оцінюється номер сигналу, який став причиною зупинки дочірнього процесу | |
WIFCONTINUED | Приводиться до ненульового значення, якщо статус було повернуто від дочірнього процесу, який продовжив виконання після сигналу зупинки, прийнятого від блоку управління завданнями | |
– Конец работы –
Эта тема принадлежит разделу:
Синопсис... pstree a c h frac Hpid l n p u G frac U... pid frac user...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Синопсис
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов