Нужно: каждый процесс W должен уникально идентифицировать себя таким образом, чтобы S мог определить, не крашнулся ли конкретный W. При этом W не должны зависить от S.
Текущая идея: W создаёт файл с уникальным именем, flock'ает его (такой лок автоматически освобождается ведром при гибели процесса), пишет в бд имя файла, при нормальном завершении освобождает и удаляет файл. S во время очередной итерации при подозрении на краш W пробует flock'нуть тот же файл и таким образом развеивает/подтвержает своё подозрение.
Это будет работать, но кажется немного оверкиллом, может есть попроще способ? Что-нибудь вроде возможности записать строчку куда-нибудь в proc чтобы не создавать ничего руками?