мета-данные страницы
  •  

Это старая версия документа!


IPC

IPC - inter-process communications - межпроцессное взаимодействие

signals

Сигналы - часть стандарта POSIX, удобны для межпроцессного взаимодействия в unix-like системах.

Их может посылать как пользователь программе напрямую1), так и master процесс: когда основная программа - демон, называемый worker, а сигналы ему шлет master, как, например, у ntpd и ntpdc.

Мастер должен найти процесс-воркер, что бы слать ему сигналы.

pid

PID (process identifier) - уникальный числовой идентификатор процесса. Чтобы master'у получить PID worker'а: - Использовать команды, такие как ps или pgrep. Например, команда ps aux выводит список всех процессов с их PID, что позволяет мастеру определить, какой процесс-воркер необходимо адресовать. Но для этого надо взаимодействовать с shell'ом. Надежднее, но заморочнее. - Прочитать его из файла2) в условленном месте, куда worker при старте записывает свой PID. Если файла в условленном месте нет - master считает, что worker не запущен.

{{fixme}} примеры

socket

Сокеты - еще один способ межпроцессного взаимодействия. Сокеты могут быть как «локальными», использующими файловую систему, так и «сетевыми», использующими сетевые протоколы. Сокеты могут использовать различные протоколы3).

{{fixme}} примеры

named pipe

{{fixme}}

1)
вернее ручками, тк дефакто, посылает их kill, тоже прграмма
2)
традиционно, такиее файлы имеют суффикс .pid
3)
те же TCP / UDP