Примеры взаимодействия между процессами (IPC)

#windows #linux #process #operating-system

#Windows #linux #процесс #операционная система

Вопрос:

Мне интересно узнать о реальных примерах или экземплярах межпроцессного взаимодействия (IPC), с которыми мы сталкиваемся ежедневно (которые происходят под капотом или иным образом) при использовании нашего ноутбука / настольного компьютера. Я всегда читал об этом теоретически из учебника.

Например:

  • Между родительским процессом и дочерними процессами: один из известных мне примеров этого в Linux — это когда оболочка запускает другие процессы, и мы можем отключить эти процессы, используя их идентификаторы процессов.

  • Между двумя не связанными (в иерархии), но взаимодействующими процессами?

Комментарии:

1. Перетаскивание выполняется с помощью IPC.

Ответ №1:

Одним из способов выполнения IPC в двух упомянутых вами случаях является использование сокетов.

Я рекомендую ознакомиться с Руководством Beej по межпроцессному взаимодействию в Unix для получения информации и примеров.

Ответ №2:

С некоторыми примерами IPC мы сталкиваемся ежедневно:

  • X-приложения взаимодействуют с X-сервером по сетевым протоколам.
  • Каналы являются формой IPC: grep foo file | sort
  • Серверы, подобные Apache, порождают дочерние процессы для обработки запросов.
  • о многих других я не могу сейчас думать

И я даже не упоминаю примеры IPC, где процессы находятся на разных компьютерах.

Комментарии:

1. Каналы в оболочке в Linux являются одним из хороших примеров IPC. Однако есть что-то особенное для Windows?