
APUE
高级UNIX环境编程
MachinePlay
一只R&D社畜,兴趣驱动,学习、分享、沉淀。
筚路蓝缕,以启山林。
展开
-
APUE第13章 守护进程Deameon
守护进程守护进程daemon是一种生存周期很长的进程。它们通常在系统引导时启动,在系统关闭时终止。守护进程是没有终端的,它们一直在后台运行。守护进程的特征在Linux系统中,可以通过命令 ps -efj 来查看守护进程。例如下图:image.png从上图中可以看到 TTY 一列,该列显示每个进程的终端,对于问号(?)显示的进程,表明该进程没有控制终端。而CM...原创 2020-02-23 19:16:54 · 190 阅读 · 0 评论 -
APUE第9章 进程关系、进程组、会话
9 进程关系image.pngimage.png在第8章学习了进程的控制原语,通过各种进程原语可以对进程进行控制,包括新建进程、执行新程序、终止进程等。在使用fork( )产生新进程后,就出现了进程父子进程的概念,这是进程间的关系。本章更加详细地说明进程间的关系,包括:进程组、会话、作业等。9.1 终端登录当我们通过硬件终端而非网络终端登录到系统时...原创 2020-02-20 01:37:46 · 177 阅读 · 0 评论 -
APUE第7章 进程环境
7.1引言image.png将介绍进程控制原语,在此之前需先了解进程的环境。本章 中将学习:当程序执行时,其main函数是如何被调用的;命令行参数是 如何传递给新程序的;典型的存储空间布局是什么样式;如何分配另外 的存储空间;进程如何使用环境变量;进程的各种不同终止方式等。另 外,还将说明longjmp和setjmp函数以及它们与栈的交互作用。本章结束 之前,还将查...原创 2020-02-15 23:36:55 · 157 阅读 · 0 评论 -
CentOS配置apue.h
apue.h是作者自己写的一个文件,包含了常用的头文件,系统不自带。其中包含了常用的头文件,以及出错处理函数的定义。使用起来确实很方便。使用apue.h需要一些配置(仅linux、unix可以使用)首先下载对应版本的压缩包选择版本新建一个自己准备存放源码的目录,然后下载mkdir APUEcd APUEwget http://www.apuebook.co...原创 2019-12-24 19:50:19 · 253 阅读 · 0 评论 -
APUE 第一章 UNIX基础知识
最近重新学习APUE,特开文章做学习笔记apue.h被我封装在all.h中,apue配置可以参见我的另一篇文章[CentOS配置apue.h]https://www.jianshu.com/p/e16c1f48ebd6第一章 UNIX基础知识这一章的内容主要是UNIX的基本概念和属于简要描述所有操作系统都为它们所运行的程序提供服务。典型的服务包括: 执行新程序、打开文件...原创 2020-01-14 20:01:45 · 831 阅读 · 0 评论 -
APUE第6章 系统数据文件和信息
6.1 引言UNIX系统的正常运作需要使用大量与系统有关的数据文件,例 如,口令文件/etc/passwd和组文件/etc/group就是经常被多个程序频繁 使用的两个文件。用户每次登录UNIX系统,以及每次执行ls -l命令时都 要使用口令文件。由于历史原因,这些数据文件都是ASCII文本文件,并且使用标准 I/O库读这些文件。但是,对于较大的系统,顺序扫描口令文件很花费 时...原创 2020-02-04 22:30:32 · 278 阅读 · 0 评论 -
APUE 第二章 UNIX标准化
2.1 引言UNIX环境标准化的工作今天已经十分完善,今天软件在类UNIX系统版本之间移植已经十分容易,都要归功于过去30年里UNIX系统标准化的工作。unix2.2 UNIX标准化UNIX系统提供了C的基本标准。1989年下半年,C程序设计语言的ANSI标准X3.159-1989得到批准。 此标准被也采纳为国际标准ISO/IEC 9899:1990。ANS...原创 2020-01-17 11:44:06 · 239 阅读 · 0 评论 -
APUE第11章 线程
10.1 引言pthread在前面的章节中讨论了进程,学习了UNIX进程的环境、进程间的 关系以及控制进程的不同方式。可以看到在相关的进程间可以存在一定 的共享。本章将进一步深入理解进程,了解如何使用多个控制线程(或者简 单地说就是线程)在单进程环境中执行多个任务。一个进程中的所有线 程都可以访问该进程的组成部件,如文件描述符和内存。不管在什么情况下,只要单个资...原创 2020-02-23 17:37:32 · 193 阅读 · 0 评论 -
APUE 第三章 Unbuffered文件I/O(系统调用无缓冲I/O)
3.1 引言本章开始讨论UNIX系统,先说明可用的文件I/O函数——打开文 件、读文件、写文件等。UNIX系统中的大多数文件I/O只需用到5个函 数:open、read、write、lseek以及close。然后说明不同缓冲长度对read和 write函数的影响。本章描述的函数经常被称为不带缓冲的I/O(unbuffered I/O,与将 在第5章中说明的标准I/O函数相对照)...原创 2020-01-21 16:40:40 · 269 阅读 · 0 评论 -
APUE第五章 标准I/O库
第五章 标准I/O库5.1 引言本章讲述标准I/O库。不仅是UNIX,很多其他操作系统都实现了标 准I/O库,所以这个库由ISO C标准说明。Single UNIX Specification对ISO C标准进行了扩充,定义了另外一些接口。标准I/O库处理很多细节,如缓冲区分配、以优化的块长度执行 I/O等。这些处理使用户不必担心如何选择使用正确的块长度(如3.9节 中所述)...原创 2020-01-30 15:43:25 · 234 阅读 · 0 评论 -
APUE第12章 线程属性设置
线程属性12.3 线程属性pthread 接口允许我们通过设置每个对象关联的不同属性来细调线 程和同步对象的行为。通常,管理这些属性的函数都遵循相同的模式。(1)每个对象与它自己类型的属性对象进行关联(线程与线程属性关联,互斥量与互斥量属性关联,等等)。一个属性对象可以代表多 个属性。属性对象对应用程序来说是不透明的。这意味着应用程序并不 需要了解有关属性对象内部结构的详细...原创 2020-02-23 19:08:25 · 198 阅读 · 0 评论 -
APUE第四章 文件和目录
第四章 文件和目录4.1 引言上一章我们说明了执行I/O操作的基本函数,其中的讨论是围绕普 通文件I/O进行的—打开文件、读文件或写文件。本章将描述文件系统 的其他特征和文件的性质。我们将从stat函数开始,逐个说明stat结构的 每一个成员以了解文件的所有属性。在此过程中,我们将说明修改这些 属性的各个函数(更改所有者、更改权限等),还将更详细地说明 UNIX文件系统的结构以...原创 2020-01-29 23:44:32 · 212 阅读 · 0 评论 -
APUE第10章 信号
第10章 信号signal10.1 引言信号是软件中断。很多比较重要的应用程序都需处理信号。信号提 供了一种处理异步事件的方法,例如,终端用户键入中断键,会通过信 号机制停止一个程序,或及早终止管道中的下一个程序。UNIX系统的早期版本就已经提供信号机制,但是这些系统(如 V7)所提供的信号模型并不可靠。信号可能丢失,而且在执行临界区代 码时,进程很难关闭所选择...原创 2020-02-21 11:23:59 · 298 阅读 · 0 评论 -
APUE第8章 进程控制
8.1 引言在理解线程之前,首先需要了解UNIX/Linux进程。 进程是由操作系统创建的,需要相当数量的“开销”。 进程包含有关程序资源和程序执行状态的信息,包括:它是一个在随机访问内存(RAM)中,正在执行的程序,它是资源分配的最小单位。image.pngpcb内容:1)进程ID,进程组ID,用户ID和组ID2)环境3)工作目录4)程序说明5)寄存器...原创 2020-02-20 01:17:56 · 273 阅读 · 0 评论