Встречается на собеседованиях • сегодня

Какие знаешь IPC в Linux

В Linux существует несколько механизмов IPC (Inter-Process Communication):

  1. Pipes (именованные и неименованные) - простейший способ передачи данных между процессами. Пример:
python
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)
  1. FIFO (Named Pipes) - похожи на pipes, но существуют как файлы в файловой системе.

  2. Shared Memory - общая область памяти между процессами. В Python используется через модуль multiprocessing:

python
from multiprocessing import Value, Process
shared_value = Value('i', 0)
  1. Message Queues (POSIX, System V) - очереди сообщений между процессами.

  2. Semaphores - для синхронизации процессов.

  3. Sockets (Unix domain и сетевые) - универсальный механизм IPC.

  4. Signals - асинхронные уведомления между процессами.

  5. Memory-mapped Files - отображение файла в память для совместного доступа.

Каждый механизм имеет свои преимущества и сценарии использования в зависимости от требований к производительности, сложности и характеру взаимодействия процессов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

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

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы