Межпроцессное взаимодействие
.pdfМежпроцессное
взаимодействие
Межпроцессное взаимодействие
Классические средства:
●Переменные окружения
●Сигналы
●Каналы
○Именованные
○Неименованные
●Сокеты
Переменные окружения
Список переменных окружения
extern char **environ;
Пример
Вывод всех переменных окружения текущего процесса
Пример environ.c
Системные вызовы
#include <stdlib.h>
char *getenv(const char *name);
int putenv(char *str);
int setenv(const char *name, const char *value, int rewrite);
int unsetenv(const char *name);
Переменные окружения
●Одностороннее действие
●Извне нельзя изменить окружение уже запущенного процесса
●Можно передавать только текстовые данные небольшого объема
Используются в основном для задания условий запуска программы
Сигналы
Сигналы - программные прерывания обеспечивающие асинхронную обработку событий.
Возможные действия на событие:
●Игнорировать сигнал (кроме SIGKILL и SIGSTOP)
●Перехватить сигнал и обработать его
●Действие по умолчанию
строки при завершении сеанса
пользователя. Обработчик по умолчанию завершает процесс.
работы процесса с полным
сохранением его состояния и возможностью возобновления.