Двунаправленная связь с AuthorizationExecuteWithPrivileges

Мне нужно запустить вспомогательный инструмент с AuthorizationExecuteWithPrivileges, отправить данные на стандартный ввод и прочитать ответ на стандартный вывод. Я могу успешно запустить вспомогательный инструмент и прочитать его стандартный вывод через CommunicationPipe, но если я пишу в его стандартный ввод, мне нужно закрыть файловый дескриптор, чтобы отправить EOF, иначе вспомогательный инструмент будет ждать бесконечно долго. Поскольку все, что возвращается, — это дескриптор файла, открытый для чтения и записи, как мне просто закрыть конец записи, но оставить открытым конец чтения?


person MagerValp    schedule 23.02.2011    source источник


Ответы (1)


Вы можете написать EOF (см. определение EOF в stdin.h) на стандартный ввод. Это должно сработать. Вы также можете общаться со своим вспомогательным инструментом через именованные каналы или сокеты, хотя вспомогательный инструмент должен поддерживать это.

person Joshua Smith    schedule 25.01.2012