Мне нужно запустить вспомогательный инструмент с AuthorizationExecuteWithPrivileges, отправить данные на стандартный ввод и прочитать ответ на стандартный вывод. Я могу успешно запустить вспомогательный инструмент и прочитать его стандартный вывод через CommunicationPipe, но если я пишу в его стандартный ввод, мне нужно закрыть файловый дескриптор, чтобы отправить EOF, иначе вспомогательный инструмент будет ждать бесконечно долго. Поскольку все, что возвращается, — это дескриптор файла, открытый для чтения и записи, как мне просто закрыть конец записи, но оставить открытым конец чтения?
Двунаправленная связь с AuthorizationExecuteWithPrivileges
Ответы (1)
Вы можете написать EOF (см. определение EOF в stdin.h) на стандартный ввод. Это должно сработать. Вы также можете общаться со своим вспомогательным инструментом через именованные каналы или сокеты, хотя вспомогательный инструмент должен поддерживать это.
person
Joshua Smith
schedule
25.01.2012