
Linux 系统 API 讲解【连载】
文章平均质量分 96
从 Linux Man Page 来看各个 API 的使用,每篇文章力图足够简单,几分钟即可消化吸收,加油~
书香度年华
日计不足,岁计有余~
专注前沿技术:机密计算、物联网安全
展开
-
【虚拟文件系统】文件系统 API 解读(1)
Linux 是近年来发展起来的一种新型的操作系统,其最重要的特征之一就是支持多种文件系统,使其更加灵活,从而与许多其它的操作系统共存。Linux支持ext,ext2,xia,minix,umsdos,msdes,fat32 ,ntfs,proc,stub,ncp,hpfs,affs 以及 ufs 等多种文件系统。为了实现这一目的,Linux 对所有的文件系统采用统一的文件界面,用户通过文件的操作界面来实现对不同文件系统的操作。对于用户来说,我们不要去关心不同文件系统的具体操作过程原创 2023-10-17 17:46:45 · 900 阅读 · 68 评论 -
【IPC 通信】信号处理接口 Signal API(1)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。原创 2023-09-23 10:35:04 · 711 阅读 · 51 评论 -
【IPC 通信】信号处理接口 Signal API(2)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.头文件3.接口定义4.接口描述 注意:signal() 的行为会根据不同的 UNIX 版本而变化,同样它也会根据 Linux 版本的不同而不同。考虑到程序的可移植性,尽量避免 signal() 的使用,而是使用 sigacton(2)原创 2023-09-18 16:08:29 · 768 阅读 · 32 评论 -
【IPC 通信】信号处理接口 Signal API(3)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.头文件3.接口定义4.接口描述 sigaction() 系统调用用来改变进程对指定信号采取的行动。(参考 signal(7) 来总体看下各种信号。) signum 指定了信号对应的编号,这个值可以是 SIGKILL 和 S原创 2023-09-19 15:10:06 · 1707 阅读 · 118 评论 -
【IPC 通信】信号处理接口 Signal API(4)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.接口定义3.接口描述 raise() 函数向调用进程或者调用线程发送一个信号,在单线程程序中它相当于: 在多线程程序中,它相当于: 如果信号导致信号处理函数调用了,那么 raise() 函数只原创 2023-09-24 10:30:00 · 725 阅读 · 87 评论 -
【IPC 通信】信号处理接口 Signal API(5)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。原创 2023-09-28 15:57:43 · 1606 阅读 · 90 评论 -
【IPC 通信】信号处理接口 Signal API(6)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。原创 2023-09-28 23:48:02 · 478 阅读 · 12 评论 -
【IPC 通信】信号处理接口 Signal API(7)
收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。2.接口定义3.接口描述 exit() 函数会导致普通程序终止并将 status 的低字节返回给父进程。 通过 atexit(3) 和 on_exit(3) 注册的所有函数都会被调到,顺序和注册顺序相反。如果这些函数中有函数没有返回(原创 2023-09-29 20:27:30 · 606 阅读 · 22 评论 -
【计算机网络】网络编程接口 Socket API 解读(1)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具,和其他平台(比如 os-x 及不同版本会有些出入)。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 创建一个通信端点(endpoint,通信的每一端都可以成为一个原创 2023-09-07 18:01:47 · 1789 阅读 · 24 评论 -
【计算机网络】网络编程接口 Socket API 解读(2)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具,和其他平台(比如 os-x 及不同版本会有些出入)。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 首先,我们需要注意 select 只能监听少于 FD_SETSI原创 2023-09-08 10:45:38 · 1549 阅读 · 46 评论 -
【计算机网络】网络编程接口 Socket API 解读(3)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具,和其他平台(比如 os-x 及不同版本会有些出入)。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 poll() 和 select() 做的事情差不多,它等待一个文原创 2023-09-09 12:19:15 · 2962 阅读 · 117 评论 -
【计算机网络】网络编程接口 Socket API 解读(4)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具,和其他平台(比如 os-x 及不同版本会有些出入)。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 listen() 标记 sockfd 指定的 socket 为被原创 2023-09-10 12:59:01 · 1598 阅读 · 64 评论 -
【计算机网络】网络编程接口 Socket API 解读(5)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 connect() 系统调用在 sockfd 指定的 socket 上连接 addr 指定的地址,addrlen 参数指定了 addr 的大小,addr原创 2023-09-12 18:22:08 · 2341 阅读 · 90 评论 -
【计算机网络】网络编程接口 Socket API 解读(6)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。原创 2023-09-13 15:42:51 · 672 阅读 · 30 评论 -
【计算机网络】网络编程接口 Socket API 解读(7)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 send()、sendto()、sendmsg() 调用用来向另一个套接字发送消息。 send() 通常只能用在连接状态(即接收者原创 2023-09-15 09:21:58 · 509 阅读 · 15 评论 -
【计算机网络】网络编程接口 Socket API 解读(8)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 本文主要描述 Linux 网络套接字层的用户编程接口。 BSD 兼容的套接字是用户进程和内核网络协议栈的统一接口。各协议模块被分配不同的协议家族(AF_IN原创 2023-10-04 21:05:46 · 1943 阅读 · 91 评论 -
【计算机网络】网络编程接口 Socket API 解读(9)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述续 【计算机网络】网络编程接口 Socket API 解读(8) SO_PEEK_OFF(Linux 3.4 后) 这个选项目前只有 unix原创 2023-10-07 09:27:35 · 2463 阅读 · 78 评论 -
【计算机网络】网络编程接口 Socket API 解读(10)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述续 【计算机网络】网络编程接口 Socket API 解读(8) SO_PEEK_OFF(Linux 3.4 后) 这个选项目前只有 unix原创 2023-10-10 20:09:21 · 2349 阅读 · 103 评论 -
【计算机网络】网络编程接口 Socket API 解读(11)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 shutdown() 调用会将 sockfd 指定的套接字上全双工连接上的一端或者两端关闭。如果 how 指定为 SHUT_RD,那么套接字上将不允许接收;原创 2023-10-14 08:48:24 · 2064 阅读 · 98 评论 -
【四万字】网络编程接口 Socket API 解读大全
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。2.头文件3.接口定义4.接口描述 socket() 创建一个通信端点并返回一个指向该端点的文件描述符。返回的文件描述符号是当前进程没有打开的号最小的文件描述符。 d原创 2023-09-15 13:49:05 · 2131 阅读 · 95 评论