Man page - unix(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 pl ja ru zh_TW zh_CNManual
UNIX
NAME(名 稱 )SYNOPSIS(總 覽 )
DESCRIPTION(描 述 )
ADDRESS FORMAT(地 址 格 式 )
SOCKET OPTIONS(套 接 字 選 項 )
ANCILLARY MESSAGES(輔 助 資 訊 )
VERSIONS(版 本 )
NOTES(注 意 )
ERRORS(錯 誤 )
SEE ALSO(另 見 )
CREDITS(尾 註 )
[中 文 版 維 護 人 ]
[中 文 版 最 新 更 新 ]
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
跋
NAME(名 稱 )
unix, PF_UNIX, AF_UNIX, PF_LOCAL, AF_LOCAL - 用 於 本 地 內 部 程 序 通 訊 的 套 接 字 。
SYNOPSIS(總 覽 )
#include
<sys/socket.h>
#include <sys/un.h>
unix_socket
= socket(PF_UNIX, type, 0);
error
= socketpair(PF_UNIX, type, 0, int
*
sv
);
DESCRIPTION(描 述 )
PF_UNIX (也 稱 作 PF_LOCAL ) 套 接 字 族 用 來 在 同 一 機 器 上 的 提 供 有 效 的 程 序 間 通 訊 .Unix 套 接 字 可 以 是 匿 名 的 (由 socketpair (2) 建 立 ), 也 可 以 與 套 接 字 型 別 檔 案 相 關 聯 . Linux 還 支 援 一 種 抽 象 名 字 空 間 , 它 是 獨 立 於 檔 案 系 統 的 .
有 效 的 型 別 有 : SOCK_STREAM 用 於 面 向 流 的 套 接 字 , SOCK_DGRAM 用 於 面 向 資 料 報 的 套 接 字 ,其 可 以 儲 存 訊 息 界 限 . Unix 套 接 字 總 是 可 靠 的 ,而 且 不 會 重 組 資 料 報 .
Unix 套 接 字 支 援 把 檔 案 描 述 符 或 者 程 序 的 信 用 證 明 作 為 資 料 報 的 輔 助 資 料 傳 遞 給 其 它 程 序 .
ADDRESS FORMAT(地 址 格 式 )
unix 地 址 定 義 為 檔 案 系 統 中 的 一 個 檔 名 或 者 抽 象 名 字 空 間 中 的 一 個 單 獨 的 字 串 . 由 socketpair (2) 建 立 的 套 接 字 是 匿 名 的 .對 於 非 匿 名 的 套 接 字 ,目 標 地 址 可 使 用 connect (2) 設 定 . 本 地 地 址 可 使 用 bind (2) 設 定 . 當 套 接 字 連 線 上 而 且 它 沒 有 一 個 本 地 地 址 時 , 會 自 動 在 抽 象 名 字 空 間 中 生 成 一 個 唯 一 的 地 址 .
#define UNIX_PATH_MAX 108
struct
sockaddr_un {
sa_family_t sun_family; /* AF_UNIX */
char sun_path[UNIX_PATH_MAX]; /* 路 徑 名
*/
};
sun_family 總 是 包 含 AF_UNIX . sun_path 包 含 空 零 結 尾 的 套 接 字 在 檔 案 系 統 中 的 路 徑 名 . 如 果 sun_path 以 空 零 位 元 組 開 頭 ,它 指 向 由 Unix 協 議 模 組 維 護 的 抽 象 名 字 空 間 . 該 套 接 字 在 此 名 字 空 間 中 的 地 址 由 sun_path 中 的 剩 餘 位 元 組 給 定 . 注 意 抽 象 名 字 空 間 的 名 字 都 不 是 空 零 終 止 的 .
SOCKET OPTIONS(套 接 字 選 項 )
由 於 歷 史 原 因 , 這 些 套 接 字 選 項 透 過 SOL_SOCKET 型 別 確 定 , 即 使 它 們 是 PF_UNIX 指 定 的 . 它 們 可 以 由 setsockopt (2) 設 定 . 透 過 指 定 SOL_SOCKET 作 為 套 接 字 族 用 getsockopt (2) 來 讀 取 .
SO_PASSCRED 允 許 接 收 程 序 輔 助 資 訊 傳 送 的 信 用 證 明 . 當 設 定 了 該 選 項 且 套 接 字 尚 未 連 線 時 , 則 會 自 動 生 成 一 個 抽 象 名 字 空 間 的 唯 一 名 字 . 值 為 一 個 整 數 布 林 標 識 .
ANCILLARY MESSAGES(輔 助 資 訊 )
由
於 歷 史 原 因 ,這
些 輔 助 資 訊 型
別 透 過 SOL_SOCKET 型 別
確 定 , 即 使 它 們
是 PF_UNIX 指 定 的 . 要
傳 送 它 們 , 可 設
定 結 構
cmsghdr
的
cmsg_level
欄 位 為 SOL_SOCKET,
並 設 定
cmsg_type
欄
位 為 其 型 別 . 要
獲 得 更 多 資 訊 ,
請 參 看
cmsg
(3).
SCM_RIGHTS
為 其 他 程 序 傳 送 或 接 收 一 套 開 啟 檔 案 描 述 符 . 其 資 料 部 分 包 含 一 個 檔 案 描 述 符 的 整 型 陣 列 . 已 傳 檔 案 描 述 符 的 效 果 就 如 它 們 已 由 dup (2) 建 立 過 一 樣 .
SCM_CREDENTIALS
傳 送 或 者 接 收 unix 信 用 證 明 . 可 用 作 認 證 .信 用 證 明 傳 送 以 struct ucred 輔 助 資 訊 的 形 式 傳 送 .
struct ucred {
pid_t pid; /* 傳 送 程 序 的
程 序 標 識 */
uid_t uid; /* 傳 送 程 序 的
使 用 者 標 識 */
gid_t gid; /* 傳 送 程 序 的
組 標 識 */
};
傳 送 者 確 定 的 信 用 證 明 由 核 心 檢 查 . 一 個 帶 有 有 效 使 用 者 標 識 0 的 程 序 允 許 指 定 不 與 其 自 身 值 相 匹 配 的 值 .傳 送 者 必 須 確 定 其 自 身 的 程 序 標 識 (除 非 它 帶 有 CAP_SYS_ADMIN ), 其 使 用 者 標 識 ,有 效 使 用 者 標 識 或 者 設 定 使 用 者 標 識 (除 非 它 帶 有 CAP_SETUID ), 以 及 其 組 標 識 ,有 效 組 標 識 或 者 設 定 組 標 識 (除 非 它 帶 有 CAP_SETGID ). 為 了 接 收 一 條 struct ucred 訊 息 ,必 須 在 套 接 字 上 啟 用 SO_PASSCRED 選 項 .
VERSIONS(版 本 )
SCM_CREDENTIALS 和 抽 象 名 字 空 間 是 在 Linux 2.2 中 引 入 的 ,不 應 該 在 要 求 可 移 植 的 程 式 中 使 用 .
NOTES(注 意 )
在 Linux 實 現 中 , 在 檔 案 系 統 中 可 見 的 套 接 字 擁 有 它 們 所 在 目 錄 的 許 可 權 許 可 . 它 們 的 所 有 者 ,組 和 許 可 權 可 以 作 修 改 . 如 果 程 序 不 擁 有 對 建 立 的 套 接 字 所 在 目 錄 的 寫 和 搜 尋 (執 行 )許 可 權 , 則 建 立 一 個 新 的 套 接 字 會 失 敗 . 這 種 執 行 方 式 與 許 多 由 BSD 發 展 而 來 的 系 統 不 同 , 那 些 系 統 會 忽 略 Unix 套 接 字 所 需 的 許 可 權 . 可 移 植 的 程 式 不 應 把 這 項 功 能 用 於 安 全 方 面 .
繫 結 檔 名 到 套 接 字 會 在 檔 案 系 統 中 建 立 一 個 套 接 字 , 這 個 套 接 字 在 它 不 再 需 要 時 必 須 由 呼 叫 者 刪 除 (使 用 unlink (2)). 通 用 的 Unix 相 關 語 義 可 適 用 ; 套 接 字 可 在 任 何 時 候 刪 除 , 而 且 當 最 後 一 個 引 用 關 閉 時 , 最 終 會 從 檔 案 系 統 中 刪 除 .
要 傳 遞 檔 案 描 述 符 或 者 信 用 證 明 , 你 需 要 傳 送 /讀 取 至 少 一 個 位 元 組 .
ERRORS(錯 誤 )
|
ENOMEM |
記 憶 體 溢 位 . |
ECONNREFUSED
connect (2) 呼 叫 了 一 個 未 在 監 聽 的 套 接 字 物 件 . 這 可 能 發 生 在 遠 端 套 接 字 不 存 在 或 者 檔 名 不 是 套 接 字 的 時 候 .
|
EINVAL |
傳 遞 了 無 效 引 數 . 通 常 的 產 生 原 因 是 已 傳 地 址 的 sun_type 欄 位 的 AF_UNIX 設 定 丟 失 , 或 者 套 接 字 對 應 用 的 操 作 處 於 無 效 狀 態 . |
EOPNOTSUPP
在 非 面 向 流 的 套 接 字 上 呼 叫 了 流 操 作 ,或 者 試 圖 使 用 出 界 的 資 料 選 項 .
EPROTONOSUPPORT
傳 遞 的 協 議 是 非 PF_UNIX 的 .
ESOCKTNOSUPPORT
未 知 的 套 接 字 型 別 .
EPROTOTYPE
遠 端 套 接 字 與 本 地 套 接 字 型 別 不 匹 配 (SOCK_DGRAM 對 SOCK_STREAM).
EADDRINUSE
選 擇 的 本 地 地 址 已 經 佔 用 ,或 者 檔 案 系 統 套 接 字 物 件 已 經 存 在 .
EISCONN
在 一 個 已 經 連 線 的 套 接 字 上 呼 叫 connect (2) 或 者 指 定 的 目 標 地 址 在 一 個 已 連 線 的 套 接 字 上 .
ENOTCONN
套 接 字 操 作 需 要 一 個 目 的 地 址 ,但 是 套 接 字 尚 未 連 線 .
ECONNRESET
遠 端 套 接 字 意 外 關 閉 .
|
EPIPE |
遠 端 套 接 字 在 一 個 流 套 接 字 上 關 閉 了 .如 果 啟 用 ,會 同 時 傳 送 一 個 SIGPIPE 標 識 .這 可 以 透 過 傳 遞 MSG_NOSIGNAL 標 識 給 sendmsg (2) 或 者 recvmsg (2) 來 避 免 . |
||
|
EFAULT |
使 用 者 記 憶 體 地 址 無 效 . |
||
|
EPERM |
傳 送 者 在 struct ucred 中 傳 遞 無 效 的 信 用 證 明 . |
當 生 成 一 個 檔 案 系 統 套 接 字 物 件 時 , 可 能 會 由 通 用 套 接 層 或 者 檔 案 系 統 產 生 其 它 錯 誤 . 要 獲 得 更 多 資 訊 ,可 參 見 合 適 的 手 冊 頁 .
SEE ALSO(另 見 )
recvmsg (2), sendmsg (2), socket (2), socket (2), socketpair (2), cmsg (3), socket (7)
CREDITS(尾 註 )
本 man頁 作 者 Andi Kleen.
[中 文 版 維 護 人 ]
riser <boomer@ccidnet.com>
[中 文 版 最 新 更 新 ]
2001/07/19
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
http://cmpp.linuxforum.net
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh