Какие знаешь IPC в Linux
В Linux существует несколько механизмов IPC (Inter-Process Communication):
- Pipes (именованные и неименованные) - простейший способ передачи данных между процессами. Пример:
import os
r, w = os.pipe()
pid = os.fork()
if pid == 0:
os.write(w, b"Hello from child")
else:
data = os.read(r, 100)
print(data)-
FIFO (Named Pipes) - похожи на pipes, но существуют как файлы в файловой системе.
-
Shared Memory - общая область памяти между процессами. В Python используется через модуль
multiprocessing:
from multiprocessing import Value, Process
shared_value = Value('i', 0)-
Message Queues (POSIX, System V) - очереди сообщений между процессами.
-
Semaphores - для синхронизации процессов.
-
Sockets (Unix domain и сетевые) - универсальный механизм IPC.
-
Signals - асинхронные уведомления между процессами.
-
Memory-mapped Files - отображение файла в память для совместного доступа.
Каждый механизм имеет свои преимущества и сценарии использования в зависимости от требований к производительности, сложности и характеру взаимодействия процессов.

офферы быстрее!
Следующий вопрос
Это единственный вопрос по вашему фильтру