Man page - socket(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr ja ru zh_TW zh_CNManual
SOCKET
NAME总 览
描 述
套 接 层 函 数
套 接 字 选 项
SIGNALS
SYSCTLS
IOCTLS
注 意
缺 陷
VERSIONS 版 本
作 者
又 见
[中 文 版 维 护 人 ]
[中 文 版 最 新 更 新 ]
《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :
跋
NAME
socket - Linux 套 接 字
总 览
#include
<sys/socket.h>
mysocket
= socket(int
socket_family
,
int
socket_type
, int
protocol
);
描 述
本 手 册 页 介 绍 了 Linux 套 接 字 的 用 户 接 口 . 这 个 BSD 兼 容 套 接 字 是 介 于 用 户 进 程 与 内 核 网 络 协 议 栈 之 间 的 统 一 接 口 , 各 协 议 模 块 属 于 不 同 的 协 议 族 ,如 PF_INET , PF_IPX , PF_PACKET 和 套 接 字 类 型 ,如 字 节 流 ( SOCK_STREAM) 或 数 据 报 ( SOCK_DGRAM) . 关 于 协 议 族 和 套 接 字 类 型 请 参 考 socket (2) .
套 接 层 函 数
用 户 通 过 这 些 套 接 字 函 数 发 送 和 接 收 包 , 以 及 其 他 套 接 字 操 作 . 详 细 说 明 参 看 他 们 各 自 的 手 册 页 .
socket (2) 创 建 套 接 字 ,
connect (2) 与 远 程 套 接 字 地 址 建 立 连 接
bind (2) 把 套 接 字 和 一 个 本 地 套 接 字 地 址 绑 定 在 一 起 ( 为 套 接 字 分 配 一 个 本 地 协 议 地 址 )
listen (2) 通 知 套 接 字 接 受 新 的 连 接
accept (2) 为 新 的 已 完 成 连 接 获 得 新 的 描 述 字
socketpair (2) 返 回 两 个 连 接 的 匿 名 套 接 字 ( 仅 在 某 些 本 地 族 中 才 有 实 现 ,如 PF_UNIX )
send (2),
sendto (2), 和 sendmsg (2) 通 过 套 接 字 发 送 数 据 , 而 recv (2), recvfrom (2), recvmsg (2) 从 套 接 字 接 收 数 据 . poll (2) 和
select (2) 等 待 数 据 到 来 或 准 备 好 接 收 数 据 . 除 此 之 外 , 标 准 I/O 操 作 如 write (2), writev (2), sendfile (2), read (2), 和 readv (2) 也 可 用 来 读 入 ( 接 收 ) 和 写 出 ( 发 送 ) 数 据 .
getsockname (2) 用 于 获 得 本 地 套 接 字 地 址
getpeername (2) 用 于 获 得 远 端 套 接 字 地 址 . getsockopt (2) 和 setsockopt (2) 用 于 设 置 或 取 得 套 接 字 或 协 议 选 项 . ioctl (2) 也 可 以 用 来 设 置 或 读 取 一 些 其 他 选 项 .
close (2) 关 闭 套 接 字 . shutdown (2) 关 闭 全 双 工 套 接 字 连 接 的 一 部 分 .
套 接 字 不 支 持 搜 索 , 也 不 支 持 调 用 pread (2) 或 pwrite (2) 进 行 非 0 位 置 的 操 作 . 可 以 用 fcntl (2). 设 置 O_NONBLOCK 标 志 来 实 现 对 套 接 字 的 非 阻 塞 I/O 操 作 O_NONBLOCK 是 从 accept 继 承 来 的 , 然 后 原 来 所 有 会 阻 塞 的 操 作 会 返 回 EAGAIN . connect (2) 在 此 情 况 下 返 回 EINPROGRESS 错 误 . 用 户 可 以 通 过 poll (2) 或 者 select (2) 等 待 各 种 事 件 .
另 外 一 个 的 poll/select 方 法 是 让 内 核 用 SIGIO 信 号 来 通 知 应 用 程 序 . 要 这 么 用 的 话 你 必 须 用 fcntl (2) 设 置 套 接 字 文 件 描 述 符 的 FASYNC 标 志 , 并 用 sigaction (2). 给 SIGIO 信 号 设 置 一 个 的 有 效 信 号 处 理 句 柄 .参 看 下 面 的 SIGNALS 的 讨 论 .
套 接 字 选 项
套
接 字 选 项 可 以
用
setsockopt
(2) 来 设 置
, 用
getsockopt
(2) 读 取
所 有 套 接 字 级
别 设 为
SOL_SOCKET
的
套 接 字 的 套 接
字 选 项 :
SO_KEEPALIVE
允 许 在 面 向 连 接 的 套 接 字 上 发 送 keep-alive 消 息 的 功 能 .是 一 个 布 尔 整 数 .
SO_OOBINLINE
如 果 打 开 这 个 选 项 , 带 外 ( Out-of-Band) 数 据 可 以 直 接 放 入 接 收 数 据 流 。 否 则 , 只 有 接 收 时 打 开 MSG_OOB 标 志 , 才 接 收 带 外 数 据 .
SO_RCVLOWAT 和 SO_SNDLOWAT
声 明 在 开 始 向 协 议 ( SO_SNDLOWAT ) 或 正 在 接 收 数 据 的 用 户 ( SO_RCVLOWAT ). 传 递 数 据 之 前 缓 冲 区 内 的 最 小 字 节 数 . 在 Linux 中 这 两 个 值 是 不 可 改 变 的 , 固 定 为 1 字 节 . 可 以 用 getsockopt 用 来 读 取 它 们 的 值 ; setsockopt 总 是 返 回 ENOPROTOOPT .
SO_RCVTIMEO 和 SO_SNDTIMEO
发 送 和 接 收 时 的 超 时 设 定 , 并 在 超 时 时 报 错 . 在 Linux 中 由 协 议 指 定 , 不 能 被 读 写 . 它 们 的 功 能 可 用 alarm (2) 或 者 setitimer (2). 来 模 拟 .
SO_BSDCOMPAT
允 许 BSD 的 bug-to-bug 兼 容 . 这 一 项 只 能 在 UDP 协 议 模 块 中 使 用 而 且 今 后 将 要 取 消 . 如 果 允 许 的 话 , UDP 套 接 字 接 收 到 的 ICMP 错 误 将 不 会 被 传 送 至 用 户 程 序 . Linux 2.0 中 对 于 原 始 套 接 字 也 允 许 BSD bug-to-bug 兼 容 ( 报 头 随 机 改 变 ,省 略 广 播 标 识 ) ,但 在 Linux 2.2 中 取 消 了 这 一 项 . 修 改 用 户 程 序 的 方 式 比 较 好 .
SO_PASSCRED
允 许 或 关 闭 SCM_CREDENTIALS 控 制 消 息 的 接 收 . 更 多 信 息 参 见 unix (7).
SO_PEERCRED
返 回 连 接 至 此 套 接 字 的 外 部 进 程 的 身 份 验 证 . 只 在 PF_UNIX 套 接 字 中 有 用 .参 见 unix (7). 参 数 为 ucred 结 构 .只 在 getsockopt . 中 有 效 .
SO_BINDTODEVICE
将 此 套 接 字 绑 定 到 一 个 特 定 的 设 备 上 , 如 “eth0”, 做 为 指 定 的 接 口 名 字 传 递 . 如 果 名 称 是 空 字 符 串 或 此 项 长 度 为 0, 则 套 接 字 设 备 绑 定 被 取 消 . 过 去 的 选 项 是 一 个 变 长 的 空 零 结 尾 的 接 口 名 称 的 字 符 串 , 其 最 大 长 度 为 IFNAMSIZ . 如 果 一 个 套 接 字 被 绑 定 至 一 接 口 , 只 有 由 这 个 特 定 接 口 接 收 的 信 息 包 可 以 由 此 套 接 字 处 理 .
SO_DEBUG
允 许 套 接 字 调 试 .只 对 有 CAP_NET_ADMIN 功 能 或 有 效 用 户 标 识 为 0 的 进 程 有 效 .
SO_REUSEADDR
表 示 在 一 个 bind (2) 调 用 中 对 提 供 给 它 的 地 址 使 用 的 确 认 规 则 应 该 允 许 重 复 使 用 本 地 地 址 . 对 于 PF_INET 套 接 字 , 这 表 示 该 套 接 字 可 以 绑 定 , 除 非 已 有 一 个 活 跃 的 侦 听 套 接 口 绑 定 到 此 地 址 上 . 如 果 这 个 侦 听 套 接 字 和 一 个 指 定 端 口 绑 定 为 INADDR_ANY 时 , 它 就 不 能 再 绑 定 到 任 何 本 地 地 址 的 此 端 口 .
SO_TYPE
按 整 数 返 回 套 接 字 类 型 ( 如 SOCK_STREAM ) 只 能 通 过 getsockopt 读 取 .
SO_DONTROUTE
不 通 过 网 关 发 送 , 只 能 发 送 给 直 接 连 接 的 主 机 .可 以 通 过 在 套 接 字 的 send (2) 操 作 上 设 置 MSG_DONTROUTE 标 志 来 实 现 相 同 的 效 果 . 其 值 为 布 尔 型 整 数 的 标 识 .
SO_BROADCAST
设 置 或 获 取 广 播 标 识 . 当 选 择 此 选 项 时 , 数 据 报 套 接 字 接 收 向 广 播 地 址 发 送 的 数 据 包 , 并 且 可 以 向 广 播 地 址 发 送 数 据 包 . 这 一 选 项 对 于 面 向 流 的 套 接 字 无 效 .
SO_SNDBUF
设 置 或 得 到 套 接 字 发 送 缓 冲 区 的 最 大 字 节 数 . 其 默 认 值 由 wmem_default sysctl 设 置 ,最 大 允 许 值 由 wmem_max sysctl 设 置 .
SO_RCVBUF
设 置 或 得 到 套 接 字 接 收 缓 冲 区 的 最 大 字 节 数 。 其 默 认 值 由 rmem_default sysctl设 置 ,最 大 允 许 值 由 rmem_max sysctl 设 置 .
SO_LINGER
设 置 或 获 取 SO_LINGER 选 项 的 值 . 其 参 数 为 linger 结 构 .
struct linger {
|
int |
l_onoff; |
||
|
/* 延 时 状 态 ( 打 开 /关 闭 ) */ |
|||
|
int |
l_linger; |
||
|
/* 延 时 多 长 时 间 */ |
};
如 果 选 择 此 选 项 , close (2) 或 shutdown (2) 将 等 到 所 有 套 接 字 里 排 队 的 消 息 成 功 发 送 或 到 达 延 迟 时 间 后 才 会 返 回 . 否 则 , 调 用 将 立 即 返 回 . 而 closing 操 作 将 在 后 台 进 行 . 如 果 套 接 字 是 exit (2), 的 一 部 分 关 闭 时 , 它 总 是 在 后 台 延 迟 进 行 的 .
SO_PRIORITY
设 置 在 此 套 接 字 发 送 的 所 有 包 的 协 议 定 义 优 先 权 . Linux 通 过 这 一 值 来 排 列 网 络 队 列 : 根 据 所 选 设 备 排 队 规 则 , 具 有 更 高 优 先 权 的 包 可 以 先 被 处 理 .对 于 ip (7), 同 时 也 设 置 了 输 出 包 的 IP 服 务 类 型 ( TOS) 的 域 .
SO_ERROR
取 得 并 清 除 未 解 决 的 套 接 字 错 误 . 只 有 在 getsockopt . 时 有 效 . 是 一 个 整 数 值 .
SIGNALS
当 向 一 个 已 关 闭 ( 被 本 地 或 远 程 终 端 ) 的 面 向 联 接 的 套 接 字 写 入 时 , 将 向 该 写 入 进 程 发 送 SIGPIPE 信 号 , 并 返 回 EPIPE 如 果 写 入 命 令 声 明 了 MSG_NOSIGNAL 标 识 时 , 不 会 发 出 此 信 号 .
如 果 与 FIOCSETOWN fcntl 或 SIOCSPGRP ioctl 一 起 请 求 , 那 么 当 发 生 I/O 事 件 时 发 出 SIGIO 这 样 我 们 就 可 以 在 信 号 句 柄 里 使 用 poll (2) 或 select (2) 找 出 发 生 事 件 的 套 接 字 . 另 一 种 选 择 ( 在 Linux 2.2 中 ) 是 用 F_SETSIG fcntl 设 置 一 个 实 时 信 号 : 实 时 信 号 的 处 理 程 序 被 调 用 时 还 会 收 到 它 的 siginfo_t 的 si_fd 区 域 中 的 文 件 描 述 符 . 更 多 信 息 参 见 fcntl (2)
在 某 些 环 境 中 ( 例 如 :多 个 进 程 访 问 单 个 套 接 字 ) , 引 发 SIGIO 的 东 西 在 进 程 对 信 号 作 出 反 应 时 可 能 已 经 消 失 了 . 如 果 这 样 的 话 , 进 程 应 该 再 次 等 待 , 因 为 Linux 稍 后 会 重 发 此 信 号 .
SYSCTLS
可
以 通 过 目 录
/proc/sys/net/core/*
下 的 文
件 或 者 用
sysctl
(2)
系 统 调 用 来 访
问 内 核 套 接 字
的 网 络 系 统 控
制 ( sysctl) 信 息 .
rmem_default
指 明 套 接 字 接 收 缓 冲 区 的 默 认 字 节 数 .
rmem_max
指 明 套 接 字 接 收 缓 冲 区 的 最 大 字 节 数 , 用 户 可 以 通 过 使 用 SO_RCVBUF 套 接 字 选 项 来 设 置 此 值 .
wmem_default
指 明 套 接 字 发 送 缓 冲 区 的 默 认 字 节 数 .
wmem_max
指 明 发 送 缓 冲 区 的 最 大 字 节 数 , 用 户 可 以 通 过 使 用 套 接 字 的 SO_SNDBUF 选 项 来 设 置 它 的 值 .
message_cost 和 message_burst
设 定 记 号 存 储 桶 过 滤 器 , 在 存 储 桶 中 保 存 一 定 数 量 的 外 部 网 络 事 件 导 致 的 警 告 消 息 .
netdev_max_backlog
在 全 局 输 入 队 列 中 包 的 最 大 数 目 .
optmem_max
每 个 套 接 字 的 象 iovecs 这 样 的 辅 助 数 据 和 用 户 控 制 数 据 的 最 大 长 度 .
IOCTLS
以 上 的 IO 控 制 值 可 以 通 过 ioctl (2) 来 访 问 :
error = ioctl( ip_socket , ioctl_type , &value_result );
SIOCGSTAMP
返 回 timeval 类 型 的 结 构 , 其 中 包 括 有 发 送 给 用 户 的 最 后 一 个 包 接 收 时 的 时 间 戳 。 被 用 来 测 量 精 确 的 RTT ( round trip time) 时 间 . struct timeval . 结 构 说 明 请 参 考 setitimer (2)
SIOCSPGRP
在 异 步 IO 操 作 结 束 或 者 接 收 到 紧 急 数 据 时 , 用 来 设 置 进 程 或 进 程 组 , 向 它 ( 它 们 ) 发 送 SIGIO 或 者 SIGURG 信 号 , 参 数 为 指 向 pid_t . 类 型 的 指 针 。 如 果 参 数 为 正 , 则 发 送 信 号 到 相 应 的 进 程 。 如 果 参 数 为 负 , 则 发 送 信 号 到 此 参 数 绝 对 值 id 所 属 的 进 程 组 的 所 有 进 程 。 如 果 它 没 有 CAP_KILL 功 能 或 者 它 的 有 效 UID 不 是 0, 进 程 只 能 选 择 它 自 己 或 自 己 的 进 程 组 来 接 收 信 号 .
FIOASYNC
改 变 O_ASYNC 标 志 来 打 开 或 者 关 闭 套 接 字 的 异 步 IO 模 式 。 异 步 IO模 式 指 的 是 : 当 新 的 I/O 事 件 发 生 时 , 将 发 出 SIGIO 信 号 或 者 用 F_SETSIG 设 置 的 信 号 .
参 数 为 整 形 布 尔 量 .
SIOCGPGRP
获 得 当 前 接 收 SIGIO 或 者 SIGURG 信 号 的 进 程 或 者 进 程 组 , 如 果 两 个 信 号 都 没 有 设 置 , 则 为 0.
有
效 的 fcntl:
FIOCGETOWN
与 IO 控 制 中 的 SIOCGPGRP 相 同 .
FIOCSETOWN
与 IO 控 制 中 的 SIOCSPGRP 相 同 .
注 意
Linux 假 设 有 一 半 的 发 送 /接 收 缓 冲 区 是 用 来 处 理 内 核 结 构 , 因 此 , 系 统 控 制 的 缓 冲 区 是 网 络 可 访 问 的 缓 冲 区 的 两 倍 .
缺 陷
CONFIG_FILTER 没 有 介 绍 SO_ATTACH_FILTER 和 SO_DETACH_FILTER 套 接 字 选 项 . 在 libpcap 库 有 此 接 口 的 说 明
VERSIONS 版 本
SO_BINDTODEVICE 在 Linux 2.0.30 中 引 入 . SO_PASSCRED 是 在 Linux 2.2 中 引 入 的 新 选 项 . sysctl 是 在 Linux 2.2. 中 引 入 的 新 概 念 。
作 者
本 手 册 页 由 Andi Kleen 编 写 .
又 见
socket (2), ip (7), setsockopt (2), getsockopt (2), packet (7), ddp (7)
[中 文 版 维 护 人 ]
liguoping <liguoping_11@sina.com>
[中 文 版 最 新 更 新 ]
2000/11/06
《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :
http://cmpp.linuxforum.net
跋
本
页 面 中 文 版 由
中 文 man 手 册 页 计
划 提 供 。
中 文 man 手 册 页 计
划 :
https://github.com/man-pages-zh/manpages-zh