Unix域套接字与Shell脚本入门
1. Unix域套接字
Unix域套接字具有诸多优势。首先,它能控制访问,没有访问套接字文件权限的进程无法使用它。而且由于不涉及网络交互,它更简单,也更不容易受到传统网络入侵。例如,D - Bus的套接字文件通常位于 /var/run/dbus ,可以使用以下命令查看:
$ ls -l /var/run/dbus/system_bus_socket
srwxrwxrwx 1 root root 0 Nov 9 08:52 /var/run/dbus/system_bus_socket
其次,Linux内核在使用Unix域套接字时,无需经过网络子系统的多层处理,因此性能通常更好。
编写Unix域套接字的代码与支持普通网络套接字的代码差别不大。由于优势显著,一些网络服务器同时提供通过网络和Unix域套接字进行通信的方式。例如,MySQL数据库服务器 mysqld 可以接受远程主机的客户端连接,同时通常也会在 /var/run/mysqld/mysqld.sock 处提供Unix域套接字。
要查看系统当前正在使用的Unix域套接字列表,可以使用 lsof -U 命令:
# lsof -U
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld
超级会员免费看
订阅专栏 解锁全文
2277

被折叠的 条评论
为什么被折叠?



