个人生活学习随笔日记
UNP_15_Unix域协议
15.1 概述
Unix 域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法。所用 API 就是不同主机通信的 API,Unix 域协议也可以看作 IPC 方法之一。
Unix 域协议提供两类套接字:字节流套接字(类似 TCP)和数据报套接字(类似 UDP)
使用 Unix 域协议的原因:
- 同主机使用 Unix 域协议性能比普通 TCP 套接字快出一倍
- Unix 域套接字可用于同一主机上的不同进程之间传递描述符
- Unix 域套接字新的实现把客户的凭证提供给服务器,这样可以提供额外的安全措施检查
UNP_14_高级IO函数
14.1 概述
本章讨论 I/O 的高级操作,首先是在 I/O 上设置超时,这里有三种方法。然后是 read 和 write 的三个变体:
- recv 和 send 允许通过第四个参数从进程到内核传递标志
- readv 和 writev 允许指定往其中输入数据或从其中输出数据的缓冲区向量
- recvmsg 和 sendmsg 结合了其他 I/O 函数的所有特性,并具备接收和发送辅助数据的新能力
UNP_13_守护进程和inetd超级服务器
13.1 概述
守护进程:是在后台运行且不与任何控制终端关联的进程。Unix 系统通常有很多守护进程在后台运行(20~50)执行不同的管理任务
守护进程没有终端,通常是因为他们由开机时的脚本进行启动。但是守护进程也可能从某个终端由用户在 shell 提示符下键入命令行进行启动,这样的守护进程必须亲自脱离与控制终端的关联,从而避免与作业控制,终端会话管理,终端产生信号等发生不希望的交互,也防止后台的守护进程输出到终端