前段时间写一个传递文件句柄的小 demo,有 server 端.有 client 端,之间通过 Unix Domain Socket 通讯. 在普通模式下,双方可以正常建立连接,当server端作为daemon启动时,则第一次启动成功,之后再启动, listen 会连接报 ENOTSUPP 错误,导致启动失败. spipe.c int cli_conn(const char *name) { int fd, len, err, rval; struct sockaddr_un un; )) <…
本文记录了因为一个简单的日志需求,继而对linux环境下syslog.rsyslog.unix domain socket的学习.本文关注使用层面,并不涉及rsyslog的实现原理,感兴趣的读者可以参考rsyslog官网.另外,本文实验的环境实在debian8,如果是其他linux发行版本或者debian的其他版本,可能会稍微有些差异. 需求: 工作中有一个在Linux(debian8)环境下运行的服务器程序,用python语言实现,代码中有不同优先级的日志需要记录,开发的时候都是使用pytho…
错误提示: psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?  出现该问题的很多,以下是目前碰到的几种情况,之后碰到继续补充:  1.删除了/tmp路径中的.s.PGSQL.5432 与.…
Unix domain socket 又叫 IPC(inter-process communication 进程间通信) socket,用于实现同一主机上的进程间通信.socket 原本是为网络通讯设计的,但后来在 socket 的框架上发展出一种 IPC 机制,就是 UNIX domain socket.虽然网络 socket 也可用于同一台主机的进程间通讯(通过 loopback 地址 127.0.0.1),但是 UNIX domain socket 用于 IPC 更有效率:不需要经过网络协…
一.知识准备 1.在linux中,一切皆为文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列) 2.操作这些不同的类型就像操作文件一样,比如增删改查等 3.主要用于:运行在同一台机器上的2个进程相互之间的数据通信 4.它们和网络文件描述符非常相似(比如:TCP socket),他们的通信发生在操作系统内核 二.环境准备 组件 版本 OS CentOS Linux release 7.5.1804 三.Unix domain socket 文件描述符 先准备2个…
接上一篇,复习一下 启动php或hhvm: php/sbin/php-fpm start hhvm/bin/hhvm_control start 启动nginx或lighttpd: webserver/loadnginx.sh start webserver/bin/lighttpd.sh start 从php切换到hhvm 如果使用hhvm,则需要切换webserver的配置到hhvm.Nginx配置切换需要修改webserver/conf/vhost/php.conf: #set $php_…
错误提示: psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 出现该问题的很多,以下是目前碰到的几种情况,之后碰到继续补充: 1.删除了/tmp路径中的.s.PGSQL.5432 与.s.…
Can I monitor a local unix domain socket like tcpdump? - Super User https://superuser.com/questions/484671/can-i-monitor-a-local-unix-domain-socket-like-tcpdump…
一.UNIX Domain Socket 概念: UNIX Domain Socket是在socket架构上发展起来的用于同一台主机的进程间通讯(IPC) 特点: 1. 它不需要经过网络协议栈,不需要打包拆包.计算校验和.维护序号和应答等 2. 只是将应用层数据从一个进程拷贝到另一个进程. 工作模式: SOCK_DGRAM     类似于UDP SOCK_STREAM    类似于TCP 用途: UNIX Domain Socket可用于两个没有亲缘关系的进程,是全双工的,是目前使用最广泛的IP…
主要注意流程: STREAM SOCKET: Server :  socket() --->  bind() ---> listen()  ---> accept() Client:    scoket() ---> connect() 参考文章一篇就够:http://troydhanson.github.io/misc/Unix_domain_sockets.html 自己写的 一个 Server 和 一个Client: //Server // // unix_domain_se…