
APUE读书笔记
文章平均质量分 88
UNIX环境高级编程
sunximei1
这个作者很懒,什么都没留下…
展开
-
第十五章-进程间通信
一、管道原创 2021-10-30 16:26:30 · 96 阅读 · 0 评论 -
第十二章-线程控制
一、线程属性二、同步属性三、重入四、线程特定数据线程特定数据(thread-specific data),也称为线程私有数据(thread-private data),是存储和查询某个特定线程相关数据的一种机制。在分配线程特定数据之前,需要创建与该数据关联的键。这个键用于获取对线程特定数据的访问:#include <pthread.h>int pthread_key_create(pthread_key_t* keyp, void (*destructor)(void*));创原创 2021-10-24 15:24:14 · 217 阅读 · 0 评论 -
第十四章-高级I/O
高级I/O包括:非阻塞I/O、记录锁、I/O多路复用(select和poll)、异步I/O、readv、writev函数以及存储映射函数(mmap)。原创 2021-10-26 18:19:53 · 177 阅读 · 0 评论 -
第十三章-守护进程
守护进程(daemon)是生存周期长的一种进程。常在系统导入时启动,仅在系统关闭时终止。因为它们没有控制终端,所以是在后台运行。一、守护进程的特征ps命令打印系统中各个进程的状态,该命令有多个选项。ps -axj//ps -efj-a 显示由其他用户拥有的进程的状态-x 显示没有终端的进程的状态-j 显示与作业有关的信息:会话ID、进程组ID、控制终端以及终端进程组ID系统进程依赖于操作系统实现。父进程ID为0的各进程通常是内核进程,它们作为系统引导装入过程的一部分而启动(init是个例外原创 2021-10-25 18:28:40 · 322 阅读 · 0 评论 -
第十一章-线程
一、线程标识进程ID在整个系统中是唯一的,但线程ID只在它所属的进程上下文中才有意义。进程ID是用pid_t类型来表示的,是一个非负整数;线程ID是用pthread_t类型来表示的,pthread_t用一个结构实现(不同的系统实现不同),所以不能作为整数处理。必须使用一个函数来对两个线程ID进行比较#include <pthread.h>int pthread_equal(pthread_t tid1, pthread_t tid2);//相等,返回非0值;不等,返回0线程可以通原创 2021-10-23 17:42:17 · 102 阅读 · 0 评论 -
第十章-信号
信号是软件终端,提供了一种处理异步事件的方法。一、信号概念很多条件可产生信号:用户终端按键。如Ctrl+C产生中断信号SIGINT硬件异常产生信号。除数为0或引用无效内存等,通常由硬件检测到并通知内核,然后内核向进程产生信号。如对执行无效内存引用的进程发送SIGSEGV调用kill(2)函数将任意信号发送给另一个进程或进程组检测到某种软件条件已经发生,并应将其通知有关进程时,产生信号。例如在网络连接上传来的带外数据(SIGURG)、在管道的读进程终止后,一个进程写此管道(SIGPIPE)以及进原创 2021-10-22 16:37:06 · 306 阅读 · 0 评论 -
第九章-进程关系
一、终端登录二、网络登录三、进程组原创 2021-10-20 19:59:09 · 286 阅读 · 0 评论 -
第八章-进程控制
一、进程标识每个进程都有一个非负整型表示唯一的进程ID。但是进程ID时可复用的,当一个进程终止后,其进程ID就成为复用的候选者。1.1 系统专用进程0号进程。ID为0的通常为调度进程,常被称为交换进程。该进程是内核的一部分,并不执行任何磁盘上的程序,因此也被称为系统进程。1号进程。ID为1的通常是init进程。该进程的程序文件在新版本中是/sbin/init。此进程负责在自举内核后启动一个UNIX系统。init通常读取与系统有关的初始化文件,并将系统引导到一个状态(如多用户)。init进程决不会终原创 2021-10-18 16:51:12 · 313 阅读 · 0 评论 -
第七章-进程环境
一、main函数原创 2021-10-08 20:33:54 · 110 阅读 · 0 评论 -
第五章-标准I/O库
一、流和FILE对象第三章中,所有I/O函数都是围绕文件描述符的。当打开文件原创 2021-10-08 15:45:33 · 87 阅读 · 0 评论 -
第四章-文件和目录
一、函数stat、fstat、fstatat和lstat原创 2021-10-07 17:15:52 · 73 阅读 · 0 评论 -
第三章-文件I/O
一、相关函数1.open#include <fcntl.h>int open(const char* path, int oflag, .../mode_t mode/);//成功返回文件描述符,失败返回-1path参数为要打开或创建文件的名字,oflag用下面一个或多个常量“或”运算(只列出常用):O_RDONLY:只读打开O_WRONLY:只写打开O_RDWR:读写打开O_EXEC:只执行打开O_SEARCH:只搜索打开(应用与目录)以上五个必须指定一个,且只能指定原创 2021-10-07 14:40:21 · 102 阅读 · 0 评论