我需要为kgdb-gdb远程连接创建串口套接字.
就像mkfifo
在系统上创建FIFO一样,我们如何创建套接字文件?
首先,是的,这与这个堆栈溢出问题有关,但我的情况略有不同,我的帖子没有得到答案。
因此,在我的 Dell 桌面工作站 Ubuntu 10.04 32 位上,我开发了一个服务器程序,旨在为 Apache 运行的 PHP“程序”提供 Unix 域套接字。(注意:umask = 0022)我将套接字文件命名为/home/wmiller/ACT/web_socket_file。(ACT 是对产品名称的引用)。/home/wmiller/ACT 的权限为 777。 /home/wmiller/ACT/web_socket_file 的创建权限为 777。
现在,我将程序复制到我的测试平台,一个 Q7 格式的 Intel 处理器板,它也有 Ubuntu 10.04 32 位和 umask = 0022。相同的目录,相同的 777 目录权限。但是,现在当我运行代码 /home/wmiller/ACT/web_socket_file 时,会出现 755 权限,而 Apache/PHP 无法打开 Unix 域套接字,因为它获取的是 rx 权限,而不是 rw- 或 rwx。Apache 正在 uid = www-data 中运行。
sockaddr_un webServAddr;
remove( g_webSocketFileName.c_str() ); // to erase any lingering file from last time
memset(&webServAddr, 0, sizeof(webServAddr));
webServAddr.sun_family = AF_UNIX;
snprintf( webServAddr.sun_path, UNIX_PATH_MAX, "%s", g_webSocketFileName.c_str() ); …
Run Code Online (Sandbox Code Playgroud)