Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

#include <sys/types.h>

#include <unistd.h>

 

int main()

{

    pid_t pid;   // идентификатор процесса

    int status;  // код статуса завершения процесса

 

/* При помощи fork cоздаем дочерний процесс */

 

    switch(pid = fork()) {

 

    case -1:

        perror("fork");

        return -1;

 

    case 0:

        printf("Выполняется дочерний процесс ");

 

/* Код статуса завершения равен 4 */

        exit(4);

    }

 

    printf("Выполняется родительский процесс ");

    printf("Идентификатор дочернего процесса - %d ", pid);

 

/*

 * Ждем завершения дочернего процесса

 * и обрабатываем код статуса завершения

 */

    if((pid = waitpid(pid, &status, 0)) && WIFEXITED(status)) {

        printf("Дочерний процесс с PID = %d завершил выполнение ", pid);

    printf("Код статуса завершения равен %d ", WEXITSTATUS(status));

    }

    return 0;

}

Функция waitpid приостанавливает выполнение родительского процесса, пока не завершится порожденный процесс. Первый аргумент этой функции (pid) указывает, завершения какого именно порожденного процесса следует ожидать.

Первый аргумент может принимать следующие значения:

n  > 0 – ждать завершения процесса с данным идентификатором;

n  0 – ждать завершения любого порожденного процесса, принадлежащего к той же группе, что и родительский;

n  -1 – ждать завершения любого порожденного процесса;

n  < -1 – ждать любого порожденного процесса, идентификатор группы (GID) которого является абсолютным значением pid.

Второй аргумент будет содержать код статуса завершения процесса, поэтому он передается по ссылке. Возвращаемым значением функции будет PID порожденного процесса.

В нашем примере значение первого аргумента равно идентификатору дочернего процесса.


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160]
[161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180]
[181] [182] [183] [184] [185] [186] [187]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100