Суть моего вопроса такова: "Как пользовательская программа может открыть pty (например, / dev / ptyp0) в Mac OS High Sierra?"Стандартный open () с именем устройства, похоже, не работает, хотя его защита crw-rw-rw -.
Контекст запускает Emacs под Mac OS.До High Sierra, когда я приказал Emacs создать окно оболочки, в котором находится подпроцесс, Emacs выделил pty для связи с подпроцессом.После обновления до High Sierra Emacs больше не может выделять pty и использует каналы для связи с подпроцессом.Это делает подпроцесс менее похожим на окно оболочки в терминале, что ухудшает восприятие пользователя.
Отслеживание операций Emacs показывает, что Emacs пытается последовательно открыть каждый из ptys, определенных всистема, и каждый раз получал errno 35.
Я обнаружил один элемент в Интернете, который предполагает, что способ открытия pty в Mac OS High Sierra отличается от предыдущих версий Mac OS, но он не дал никаких подробностей.