首先简述下几个概念的关系:
我们通过信号集建立信号屏蔽字,使得信号发生阻塞,被阻塞的信号即未决信号。
信号集:
信号集:其实就是一系列的信号。用sigset_t set表示。
数据类型:sigset_t 类似于整型(位数可能超过整型,因而不能用整型表示)。
我们一般在sigprocmask()等函数中使用信号集,用于创建一系列进程要阻塞的信号,告诉内核不允...
分类:
其他好文 时间:
2014-09-19 12:09:05
阅读次数:
252
首先说明:现在大部分Unix系系统如Linux都已经实现可靠信号。
1~31信号与SIGRTMIN-SIGRTMAX之间并不是可靠信号与不可靠信号的区别,在大多数系统下他们都是可靠信号。
只不过:
1~31信号
——不支持排队,为普通信号。
SIGRTMIN-SIGRTMAX信号 ——支持排队,实时信号...
分类:
其他好文 时间:
2014-09-17 16:55:13
阅读次数:
164
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
用户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
#include pid_t fork(void); Returns: 0 in child, process ID of child in parent,?1 on error
Unix可以使用系统函数fork()创建一个新进程。
fork()执行一次返回两次。
返回值:
0:
...
分类:
其他好文 时间:
2014-08-29 14:44:18
阅读次数:
207
Unix提供的最基本的时间服务室日历时间(纪元时间),也就是计算1970年1月1日0时0分0秒到当前的秒数。该秒数用time_t表示。
typedef long time_t; /* 时间值time_t 为长整型的别名*/
1、获取/设置时间
1.1 time和time_t
函数time()可以用于获取当前日历时间
#include t...
分类:
其他好文 时间:
2014-08-28 16:19:10
阅读次数:
359
1.open
#include FILE *fopen(const char *restrict pathname,const char *restrict type)FILE *freopen(const char *restrict pathname,const char *restrict type,FILE *restrict fp);FILE *fdopen(int fd,co...
分类:
其他好文 时间:
2014-08-25 14:59:34
阅读次数:
242