
UNIX
文章平均质量分 77
荃子
对开源软件有浓厚兴趣。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
优快云 上的 APUE 读书笔记第二章 -- Unix 标准化及实现
1、主要标准 A. 国际 C 语言标准(ISO C): ISO C 是 C 编程语言的标准,适用于一切使用 C 语言编程的场合; 目前存在两个版本的国际 C 标准,一个是 C89,即一般 C 语言教科书中提到的 ANSI C,这是通行的实际标准; 另一个是 C99,主要是在兼容 C89 的基础进行了扩充,例如增加了 restrict(强制所修饰类型只能为指针的修饰符)、inl转载 2013-12-08 20:45:40 · 546 阅读 · 0 评论 -
优快云 上的 APUE 读书笔记第三章 -- 文件 I/O
第三章 文件 I/O这一章讲的是Unix 的基本I/O 函数:open, write, read, close, lseek、dup、fcntl 等。它们又被称为不带缓冲的I/O,这是因为这些函数直接执行系统调用,而不在进程地址空间中另外开辟缓冲区。1、文件描述符 file descriptor文件描述符是对文件的引用,本身是个 int 类型的数值。它的取值在进转载 2013-12-09 22:11:01 · 520 阅读 · 0 评论 -
优快云 上的APUE读书笔记之第十三章 -- 守护进程
第十三章 -- 守护进程守护进程(daemon)是 Unix 系统中的一种特殊进程,它通常以某种特殊用户身份运行,父进程通常是 init ,永远不占有控制终端,没有任何与标准输入输出的交互。它在启动成功后将在系统内永久驻留,除非被强行终止。典型的守护进程随系统自举而启动,在系统关闭时终止。1、设计一个良好的守护进程的一般编程规则但很多开源程序都有很好的用于守护进程创建的da转载 2013-12-19 12:10:44 · 497 阅读 · 0 评论 -
优快云 上的APUE读书笔记之第一章 -- Unix 基础
1、Unix 手册页Unix 参考手册页是进行系统编程必备的参考工具。它通常通过 man 命令直接联机阅读。手册页通常分为 9 节。采用“名称(章节号)”的方式来描述 Unix 术语时,表示此名称同时也是联机手册对应章节号下的一个条目。例如“fork(2)”指系统调用库函数 fork,可以使用“man 2 fork”来查看其手册页。以 Linux 为例,参考手册页各节内容如转载 2013-12-06 16:43:43 · 580 阅读 · 0 评论 -
优快云 上的读书笔记之第六章 -- 系统数据文件和信息
第六章 系统数据文件和信息1、主要的系统数据包括但不限于passwd(5), shadow(5), group(5), hosts(5), networks(5), protocols(5), services(5)等,它们的文档位于 man 手册的第 5 部分。它们均存于/etc 目录下。Unix 系统提供了相应的数据结构和函数对它们进行读取。但是这一块根据书中的表 6-1 可以转载 2013-12-12 11:27:09 · 495 阅读 · 0 评论 -
优快云上的的 APUE读书笔记之第十章 -- 信号
第十章 信号信号机制是本书或者说是 Unix 应用程序设计的重点和难点之一。要安全的编写一个信号捕捉函数,需要较为精细和周全的设计。既要防止异步信号意外丢失而无法捕捉,也要防止执行异步处理时出现的并发破坏进程数据,在处理异常信号时试图使用 siglongjmp(3)之类的函数恢复进程状态时,还要防止跳转到非法的栈空间。所以信号处理程序是 bug 常出现的地方之一。实践经验和多参考前人的转载 2013-12-16 07:50:03 · 567 阅读 · 0 评论 -
优快云 上APUE读书笔记之第十二章 -- 线程控制
第十二章 线程控制POSIX 线程机制定义了多种数据类型,这些数据类型对应用程序来说其内部结构是不透明的。就是说直接访问它们的数据对象是无意义的,而应该使用pthreads(7)库定义的方法去进行访问。各种数据类型对象方法的动作包括初始化、销毁、读取、更改等。1、线程属性对象A. 初始化和去初始化在使用线程属性对象之前,应该使用对其进行初始化,如果已经使用结束,应销毁此对象转载 2013-12-18 21:15:27 · 566 阅读 · 0 评论 -
优快云 上的 APUE 读书笔记之第五章 -- 标准 I/O 库
第五章 标准 I/O 库本章讲述 ISO C的标准 I/O 库函数(定义在)。这些库函数的特点是会在进程的地址空间中开辟一个缓冲区,在一定条件下时才触发 I/O(称为冲洗 flush)将缓冲区的数据刷到内核中。1、文件流和 FILE 指针ISO C 中使用文件流的概念描述和操作磁盘文件在实现了宽字符集的 C99中,流的定向决定了在流中以单字节还是转载 2013-12-11 12:36:30 · 501 阅读 · 0 评论 -
优快云 上的 APUE 读书笔记之第十六章 -- 网络 IPC:套接字
第十六章 网络 IPC:套接字1、概述套接字的原始版本是 BSD 套接字,它是通信端点的抽象。可用于同一机器上的进程间通信,典型应用为 Unix 域套接字;也可用于通信网络上任何体系结构的计算机之间的通信,典型应用为互联网套接字及在此基础上的 TCP/IP 协议栈实现。1983 年,4.2 BSD 发布了基于套接字技术的第一个 TCP/IP 协议栈 API 实现,它成为此后转载 2013-12-19 14:02:08 · 558 阅读 · 0 评论 -
优快云 上的 APUE 读书笔记之第十五章 -- 进程间通信
所谓 IT,离不开不同信息数据的交换。同一操作系统中运行的不同程序之间,不同操作系统中的程序之间,甚至是不同体系架构的计算机系统之间,都会出现交换数据信息即通信的需求。现代计算机系统中的通信,归根结底是由操作系统的进程来进行的(大型的自动化系统中的每一个在运行任务的智能节点通常抽象为一个独立的进程)。Wikipedia 上列出主要的进程间通信技术包括了:匿名管道、命名管道(fifo)、公共对象请求转载 2013-12-05 20:56:02 · 535 阅读 · 0 评论 -
APUE - UNIX高级环境编程
1.重写 ls 指令,用到了dirent.h 头文件,一个目录有关的头文件,可以用 man查看有 2 个结构体 DIR 与 struct dirent,目录结构体与当前目录下文件/目录结构体代码如下#include #include typedef struct dirent dirct;intmain(int argc,char *argv[]){转载 2013-12-04 16:41:46 · 346 阅读 · 0 评论 -
优快云 上的 APUE 读书笔记第四章 -- 文件和目录
第四章 文件和目录Unix 下“一切皆文件”。即对于外部对象均抽象为文件的形式进行访问,这样就可以通过统一的open、read、write、close 等 I/O 函数对它们进行操作。但各种文件细究也分了好几种类别: 普通文件——各种以 ASCII 和二进制存放的程序和文档都属于普通文件); 目录文件——注意三个特殊的目录文件:/、.和..; 字符设备文件——如/dev转载 2013-12-10 09:45:27 · 585 阅读 · 0 评论 -
优快云 上的APUE读书笔记之第七章 -- 进程环境
第七章 进程环境1、进程的启动和终止A. 启动1) 内核通过 shell 等界面,用 fork(2)生成子进程,然后用 exec(3)族函数执行所指定的程序;2) 内核调用专门的启动例程,取得命令行参数及环境变量;3) 开始从 main 开始执行程序;4) 创建进程的函数还包括 system(3)和 popen(3)等;B. 终止终止转载 2013-12-13 08:10:35 · 537 阅读 · 0 评论 -
优快云 上的APUE读书笔记之第八章 -- 进程控制
第八章 进程控制1、进程标识符 PID 的概念A. 进程 ID(PID)唯一的标识了系统中的当前进程;B. 已结束的进程,其 PID 以后将给信的进程使用,但一般不是马上;C. 0 号进程(PID == 0)是内核的一部分,属于系统进程,其它进程均属于用户进程;D. 1 号进程通常是 init,是一个以 root 特权运行的系统进程,孤儿进程都将转载 2013-12-14 09:49:39 · 572 阅读 · 0 评论 -
优快云 上的 APUE 读书笔记第九章 -- 进程关系
第九章 进程关系1、进程组(process group)进程组是一个或多个进程的集合,通常用于作业控制;组长是创建进程组的进程。进程组 ID(PGID)等于组长的 PID。设置和获取 PGID:#include pid_t getpgid(pid_t pid);int setpgid(pid_t pid, pid_t pgid);setpgid(2)只能转载 2013-12-15 11:24:17 · 483 阅读 · 0 评论 -
优快云 上的 APUE读书笔记之第十一章 -- 线程
第十一章 线程线程机制引入 Unix 家族的时间相对比较晚,标准化后称为 POSIX Threads(以下简称线程),使用的库称为 pthreads(7)。它提供了在一个进程中并行地执行多个任务的机制。有助于将一个程序清晰的分解成多个不同的独立部分,例如用一个线程专门处理信号,用一个线程专门处理异步事件,再用一个线程专门负责提供服务等等。同一个进程内的线程可以无限制的共享进程的数据资源。使用多转载 2013-12-17 21:41:42 · 481 阅读 · 0 评论 -
优快云 上的 APUE 读书笔记各章之索引
第一章 Unix 基础.第二章 Unix 标准化及实现第三章 文件 I/O第四章 文件和目录第五章 标准I/O库第六章 系统数据文件和信息第七章 进程环境第八章 进程控制(未完)转载 2013-12-14 10:25:55 · 494 阅读 · 0 评论 -
gdb调试应用程序
<br />今天又研究了一下,还有其他功能 , GDB尤其在你调别人的程序的时候,更有有助于你更快的理解别人的程序 。 <br /><br />0,可以显示出堆栈的调用的情况:backtrace ,简写bt , 还有命令down和up<br />比如函数调用如下: <br /> main.c <br /> |-------------|<br /> |转载 2010-10-18 13:48:00 · 453 阅读 · 0 评论 -
守护进程原理
<br />网上看到一段很不错的讲解守护进程的示例代码,通过代码的运行能够很好的把握守护进程的概念,转贴如下:<br /> <br />守护进程<br /> 在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终转载 2010-11-16 16:47:00 · 652 阅读 · 0 评论 -
ubuntu10.04网络安装
转载自 http://blog.chinaunix.net/uid-15007890-id-106944.htmlPXEPXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,转载 2015-09-16 16:59:06 · 497 阅读 · 0 评论