我做了一些调查,主要的想法是使用setuid/getuid和使用授权服务(但在编译时出现符号错误,而且现在似乎已经被弃用)。
我的应用程序需要在某个特定点请求root访问权限(以便访问原始磁盘驱动器),最好使用OS X身份验证对话框(我对OS X很陌生,不知道该怎么称呼它)。
我的应用程序需要在某个特定点请求root访问权限(以便访问原始磁盘驱动器),最好使用OS X身份验证对话框(我对OS X很陌生,不知道该怎么称呼它)。
据我所知,授权服务得到了很好的支持。
这里是一个教程链接(附有示例项目!),您可以使用它启动一个小工具,从而获得管理员权限,然后可以调用setpriority
API在您的调用进程上进行操作(文档已为您提供链接)。
AuthorizationExecuteWithPrivileges
自10.7版本起已被"弃用(deprecated)"。我正在查看苹果公司的授权服务任务文档,看看如何使用renice
调整调用进程。 - Michael Dautermann