第1章 unix基础知识1. char *strerror(int errnum)该函数将errnum(就是errno值)映射为一个出错信息字符串,返回该字符串指针。声明在string.h文件中。2.void perror(const char *s) 该函数基于当前的errno值,在标准出错文件中...
分类:
其他好文 时间:
2014-09-16 10:32:20
阅读次数:
202
signal函数
signal函数是早起Unix系统的信号接口,早期系统中提供不可靠的信号机制。在后来的分支中,部分系统使用原来的不可靠机制定有signal函数,如 Solaris 10 。而更多的系统采用新语义 可靠信号机制,如4.4BSD。
出于signal函数不同系统的不统一性,我们一般使用sigaction函数取代它。关于sigaction函数,我们在本文后面做...
分类:
其他好文 时间:
2014-09-15 15:57:49
阅读次数:
297
信号的基本概念
信号是软件中断,信号提供了解决异步时间的方法。
每一中信号都有一个名字,信号名以SIG开头。
产生信号的几种方式
很多条件可以产生信号:
终端交互:用户按下某一些按键,如ctl+c,会产生信号。
硬件异常:如除数为0,内存引用错误。
kill(2)函数:将信号发...
分类:
其他好文 时间:
2014-09-15 11:22:38
阅读次数:
157
本菜刚刚学习UNIX下高级编程,无奈搭建本书编程环境时遇到不少问题。幸好网上有各种大神的解决办法让我最终解决了问题。在这里感谢为LINUX开源操作系统奋斗的大神。
不过话说回来,网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说,有些过时,因为很对针对linux的make文件已经改变了很多。
话不多说,下面就来看看具体的搭建过程:(本人用的操作系统是ubuntu 14.04L...
分类:
其他好文 时间:
2014-09-14 14:08:07
阅读次数:
191
用户ID的基本概念
在Unix系统中,很多操作涉及到权限问题,这些权限涉及到用户ID和组ID的概念。
组ID和用户ID的原理和相关内容是类似的。下面介绍用户ID。
我们常见见到三种关于用户ID的概念。
实际用户ID:real user ID (RUID)
有效用户ID:effective user ID ...
分类:
其他好文 时间:
2014-09-10 15:54:47
阅读次数:
202
以下不少内容来自man手册
结构体struct stat
结构体struct stat用于保存文件相关的所有信息。
struct stat的基本成员如下所示
struct stat { dev_t st_dev; // 文件所在设备的设备id,可以分解为主设备号和此设备号 ...
分类:
其他好文 时间:
2014-09-10 12:34:00
阅读次数:
269
在了解dup用法之前,需要对linux的文件节点有一个认识。
内核有3个数据结构来表示进程打开的文件,dup是系统提供的一个API可以直接操作这三个数据结构之间的关系。
(1)每个进程在进程表当中都有一个记录项,记录项中包含一张表格,记录了所有当前进程打开的文件,可以将其想象成为一个key-value的映射关系,key为文件描述符fd,对于每个进程来说,fd从0开始向后排,value为指向文件...
分类:
其他好文 时间:
2014-09-09 18:20:19
阅读次数:
220
在学习一个东西的时候我总是喜欢去问这样做的理由是什么?也喜欢去究竟他的历史。从中你可以发现所有的设计都在不断改进出来的,从来就没有一个设计是一开始就是完美的。好比是人,之初,性也许是善的,如果我们不通过后天的学习去让自己的心灵完美的话,他就只停留在了人的初级阶段了。 对于信号(signal)也是如....
分类:
其他好文 时间:
2014-09-09 10:31:18
阅读次数:
280
首先阅读readme文件,要求
To build the source, edit the Make.defines.* file for your system and set WKDIR to the pathname of the tree containing the source code. Then just run "make".
我的系统环境是Linux的,因此修改....
分类:
其他好文 时间:
2014-09-08 09:38:36
阅读次数:
278
引言
该文档由个人总结,一级标题的序号对应《APUE》第一版的各章,但是二级标题和该书无关,其序号和内容完全是根据个人判断和个人需求进行编写。
3.文件I/O
本章所说明的函数经常被称之为不带缓存的I/O(与第5章中说明的标准I/O函数相对照)
3.1文件I/O函数
大多数UNIX文件I/O只需用到5个函数:open、read、write、lseek、close。
需注意的是wri...
分类:
其他好文 时间:
2014-09-03 11:20:26
阅读次数:
383