当我使用 cat 查看 /tmp 目录中的文件时,我收到了此报告。
猫/tmp/st.socket
cat:/tmp/st.socket 没有这样的设备或地址
干杯
答案1
您(通过cat
)正在尝试打开并阅读UNIX 域套接字而这并不是正确访问它们的方式。套接字由客户端/服务器进程用来交换数据。必须使用不同于 open() 的系统调用来访问它们;如果您使用 open(),则只会出现 errno == ENXIO“没有这样的设备或地址”的故障。
如果你ls -l /tmp/st.socket
可能会看到类似
srwxrwxrwx 1 root root 0 Jan 24 2012 /tmp/st.socket
行首的“s”表示 /tmp/st.socket 是一个套接字。