在许多操作系统下,Unix域套接字允许进程以不会被恶意破坏的方式可靠地将其凭据传递给另一个进程.例如,这是通过SO_PASSCRED和SO_PEERCRED选项在Linux上完成的,在FreeBSD上通过传递包含cmsgcred结构的消息,在NetBSD上通过设置LOCAL_CREDS选项完成.但是,我还没有找到在Mac OS X下执行此操作的方法.相应的标题(socket.h)似乎已禁用Apple的构建功能.
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
#ifndef __APPLE__
// ...
struct cmsgcred {
Run Code Online (Sandbox Code Playgroud)
想到另一个可以实现相同结果的Mac OS X工具吗?