Основы операционных систем. Практикум


Example.3.1


/* Программа 03-1.с – пример создания нового процесса с одинаковой работой процессов ребенка и родителя */

#include <sys/types.h> #include <unistd.h> #include <stdio.h> int main() { pid_t pid, ppid; int a = 0; (void)fork();

/* При успешном создании нового процесса с этого места псевдопараллельно начинают работать два процесса: старый и новый */ /* Перед выполнением следующего выражения значение переменной a в обоих процессах равно 0 */

a = a+1;

/* Узнаем идентификаторы текущего и роди- тельского процесса (в каждом из процессов !!!) */

pid = getpid(); ppid = getppid();

/* Печатаем значения PID, PPID и вычислен- ное значение переменной a (в каждом из процессов !!!) */ printf("My pid = %d, my ppid = %d, result = %d\n", (int)pid, (int)ppid, a); return 0; }

Листинг 3.1. Программа 03-1.с – пример создания нового процесса с одинаковой работой процессов ребенка и родителя.

Закрыть окно






- Начало -  - Назад -  - Вперед -