Linux 信号(简略笔记)
一、概要
详细介绍:http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html
信号是UNIX和Linux系统响应结条件而产生的一个事件。接收到信号的进程会相应地采取一些行动。
(1) 在系统终端下输入命名: kill -l 或 trap -l 可以查看系统所支持的信号!
(2) 信号编号1-32 是早期的信号,是不可靠信号,信号在一定条件下会丢失;
(3) 信号编号33以上是后期版系统本出现的,是可靠信号。信号生成时,进程响应还未结束,将自动排队等待响应。
(4) 信号 9 SIGKILL 和 信号 19 SIGSTOP 这两个信号不可以被捕获或忽略。
二、 函数介绍:
头文件: signal.h
1. 信号集处理:
sigfillset(sigset_t *set); 设置所有的信号到set信号集中;
sigemptyset(sigset_t *set); 从set信号集中清空所有信号;
sigaddset(sigset_t *set,int sig);在set信号集中加入sig信号;
sigdelset(sigset_t *set,int sig);在set信号集中删除sig信号;
2. 信号处理函数
(1)传统的信号处理接口: void (*signal(int sig, void (*func)(int )))(int),
因为可靠信号的出现重新规范了健壮的信号接口:int sigaction(int sig,const struct sigaction *act,struct sigaction *oldact);
关于结构体 struct sigaction ,查询 man 手册;
struct sigaction 成员:
sa_hanlder 和 sa_sigaction 指向信号处理函数的指针,只能定义其中一个,两个都定义的话,将执行sa_handler指向的函数;其中可以指向宏定义 SIG_IGN(忽略信号) 和 SIG_DFL(信号默认行为);
sa_mas
相关文档:
前面我们已经分析了linux如何利用伙伴系统,slab分配器分配内存,用这些方法得到的内存在物理地址上都是连续的,然而,有些时候,每次请求内存时,系统都分配物理地址连续的内存块是不合适的,可以利用小块内存“连接”成大块可使用的内存.这在操作系统设计中也被称为 “内存拼接”,显然,内存拼接在需要较大内 ......
1. 去http://java.sun.com/j2se/1.4.2/download.html 下载一个Linux Platform的JDK,建议下载RPM自解压格式的(RPM in self-extracting file,j2sdk-1_4_2_06-linux-i586-rpm.bin);
2. 上载到Linux服务器上,在shell下执行命令:
[root@LinuxServer rpm]# chmod 755 j2s ......
vi vim 使用
vim 编辑器
首先简单的说一下vi编辑器──unix的通用编辑器,
读作vee-eye (visual editor的简写)。
(这里的vim,是改进的vi, Vi Improved简写,Vim 由Bram Moolenaar编写)
vi的工作模式
分为命令模式和插入模式 以及 : ex模式;
按esc键就可以让vi进入命令模式;
插入模式就是你输入文本的模式了。
......