ios - 获取创建套接字的进程的 pid

标签 ios c linux linux-kernel fcntl

如何获取建立套接字的进程的 pid。我经历过这个PDF link ,其中他提到使用 F_SETOWN 和我们的 pid 调用 fcntl() 告诉进程它是套接字的所有者。如何使用 fcntl() 获取套接字所有者?

最佳答案

来自 fcntl() 的 man pagr

F_SETOWN(整数) 将文件描述符 fd 上的事件接收 SIGIO 和 SIGURG 信号的进程 ID 或进程组 ID 设置为 arg 中给定的 ID。进程ID指定为正值;进程组 ID 指定为负值。最常见的是,调用进程将自身指定为所有者(即 arg 指定为 getpid(2))。

您可以使用 getpid() 来获取进程 ID。在将其传递给 F_SETOWN 时,您请求通知进程 SD 是否可读或可写。

具体来说,您的标题问题的答案是 getpid()。

关于ios - 获取创建套接字的进程的 pid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286209/

相关文章:

c - libxml2 和 XPath 在 ANSI C 中遍历 child 和 sibling

c - 有没有办法查询串口可用的数据量?

c - (*&) 是左值还是 r 值?

linux - Bash 脚本 : Looping through multiple file extensions in folder, 忽略不存在的文件扩展名

ios - 路由应用程序覆盖文件未复制到模拟器

objective-c - 尝试分割非常大的字符串

iphone - 应用程序加载时 iOS 内存泄漏

c++ - 需要帮助理解 C++ 库、编译、链接、特定项目的头文件

c - 进程与消息队列的通信

ios - MFMailComposer toReceiptsText 延迟