/* Программа 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.с – пример создания нового процесса с одинаковой работой процессов ребенка и родителя. |
Закрыть окно |