与AuthorizationExecuteWithPrivileges的双向通信

时间:2011-02-23 20:49:49

标签: macos authorization pipe file-descriptor

我需要用AuthorizationExecuteWithPrivileges执行一个帮助工具,将一些数据发送到它的stdin,并在stdout上读取一个回复。我可以通过communicationsPipe成功执行帮助工具并读取它的stdout,但如果我写入stdin,我必须关闭文件描述符以发送EOF,否则帮助工具将无限期地等待。由于返回的所有内容都是为读取和写入而打开的文件描述符,如何关闭写入结束,但保持读取结束?

1 个答案:

答案 0 :(得分:0)

您可以将一个EOF(请参阅stdin.h定义的EOF)写入标准输入。应该这样做。您也可以通过命名管道或套接字与您的帮助工具进行通信,尽管帮助工具必须支持它。

相关问题