C++ macOS:获取进程在本机C/C+中侦听已知TCP端口的PID+;
我已经给出了一个本地TCP套接字的端口号,我想得到监听它的相关本地进程的PID。套接字绑定到127.0.0.1,仅用于本地进程间通信 我可以通过命令行执行此操作C++ macOS:获取进程在本机C/C+中侦听已知TCP端口的PID+;,c++,macos,tcp,port,pid,C++,Macos,Tcp,Port,Pid,我已经给出了一个本地TCP套接字的端口号,我想得到监听它的相关本地进程的PID。套接字绑定到127.0.0.1,仅用于本地进程间通信 我可以通过命令行执行此操作 lsof-nP-sTCP:LISTEN-i:|awk'NR>1{print$2}' 用于连接到的服务器端口(用于标识与之建立连接的本地服务器进程) 及 lsof-nP-sTCP:stated-i:|awk'NR>1{print$2}' 用于在侦听服务器中接受时的客户端端口(以标识连接的本地客户端进程) 有人知道如何在C/C++中实现这一
lsof-nP-sTCP:LISTEN-i:|awk'NR>1{print$2}'
用于连接到的服务器端口(用于标识与之建立连接的本地服务器进程)
及
lsof-nP-sTCP:stated-i:|awk'NR>1{print$2}'
用于在侦听服务器中接受时的客户端端口(以标识连接的本地客户端进程)
有人知道如何在C/C++中实现这一点吗?
调用像lsof
这样的外部进程可能效率低下,并且可能会导致操作系统更新时出现性能问题和兼容性问题,因此,如果也可以通过C/C++中的API直接完成,那就太好了。我已经看过了lsof的源代码,但是看起来有点难读
谢谢大家,大家好,,
多米尼克