Когда я видел эту ошибку с доменными сокетами Unix, обычно это происходит из-за того, что процесс B не запущен или существует несоответствие в путях подключения.(Если B умирает, он автоматически перезапускается? Возможно ли, что сбои происходят, когда B умер, но еще не перезапущен?).Другая возможность: возможно ли, что несколько копий A работают одновременно?Вы можете получить ошибку ECONNREFUSED, если очередь B еще не принятых соединений заполнена.
Я бы предложил запустить оба процесса A и B в режиме strace
, либо:
strace -o A.log A
или, если процесс уже запущен,
strace -o B.log -p <process-id-of-B>
Кроме того,
netstat -na
предоставит вам статус всех сокетов домена unix, присутствующих в системе.