信号之signal函数

作者:ITtecman     分类:Linux     标签:     时间:2014.06.06     浏览:79     评论:0

UNIX系统的信号机制最简单的接口是signal函数。signal函数的功能:为指定的信号安装一个新的信号处理函数。 #include <signal.h> void (*signal(int signo, void (*func)(int)))(int); 复杂原型分开看: void (*signal( int signo, void (*func)(int) ) )(int); 函数名 :signal 函数参数 :int signo, void (*func)(int) 返回值类型:void (*)(int); signo参数是信号名(参见:http:/ [...]   阅读全文


《Linux内核设计与实现》读书笔记(二十)- 补丁, 开发和社区

作者:wang_yb     分类:Linux     标签:     时间:2014.06.06     浏览:83     评论:0

linux最吸引我的地方之一就是它拥有一个高手云集的社区, 还有就是如果能=为linux内核中贡献代码, 一定是一件令人自豪的事情. 下面主要总结一些和贡献代码相关的主要内容. 加入社区 编码风格 提交补丁 总结 1. 加入社区 如果想为linux贡献代码, 那么加入linux社区是必须的, 加入了社区, 不仅可以及时内核的最新消息, 而且可以及时和社区内有经验的内核开发者交流经验. 同时也是提交代码和讨论代码的地方, 了解社区的规则, 融入社区环境之中, 才能更好的学习内核, 体会内核开发的乐趣和成就感. 内核社区说白了就是内核邮件列表(LKML linux [...]   阅读全文


Centos中安装PHP的PDO MySQL扩展的教程

作者:divor     分类:Linux     标签:     时间:2014.06.06     浏览:60     评论:0

PHP Data Objects(PDO)扩展为 PHP 访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能。注意利用 PDO 扩展自身并不能实现任何数据库功能;必须使用一个具体数据库的 PDO 驱动来访问数据库服务。 记录安装 PDO MySQL 扩展过程。 参考官方的安装文档后发现,在编译安装 PHP 时加上 –with-pdo-mysql[=DIR] 参数即可安装 PDO MySQL 扩展。其中的[=DIR]是可选的,是指 MySQL 的安装目录。另外,需要用到 –with-mysql-sock[= [...]   阅读全文


信号之可重入函数

作者:ITtecman     分类:Linux     标签:     时间:2014.06.06     浏览:62     评论:0

进程捕捉到信号并对其进行处理时,进程正在执行的指令序列就被信号处理程序临时中断,它首先执行该信号处理程序中的指令。如果从信号处理程序返回(例如信号处理程序没有调用exit或longjmp),则继续执行在捕捉到信号时进程正在执行的正常指令序列。但在信号处理程序中,不能判断捕捉到信号时进程在何处执行。如果程序正在执行malloc,在其堆中分配另外的存储空间,而此时由于捕捉到信号而插入执行该信号处理程序,其中又调用malloc,则可能会对进程造成破坏,因为malloc通常为它所分配的存储区维护一张链接表,而插入执行信号处理程序时,进程可能正在更改此链接表。又例如,若进程正在执行getpwnam这种 [...]   阅读全文


《Linux内核设计与实现》读书笔记 - 目录

作者:wang_yb     分类:Linux     标签:     时间:2014.06.06     浏览:72     评论:0

读完这本书回过头才发现, 第一篇笔记居然是 2012年8月发的, 将近一年半的时间才看完这本书(汗!!!). 为了方便以后查看, 做个《Linux内核设计与实现》读书笔记 的目录: 《Linux内核设计与实现》读书笔记(一)-内核简介 《Linux内核设计与实现》读书笔记(二)- 内核开发的准备 《Linux内核设计与实现》读书笔记(三)- Linux的进程 《Linux内核设计与实现》读书笔记(四)- 进程的调度 《Linux内核设计与实现》读书笔记(五)- 系统调用 《Linux内核设计与实现》读书笔记(六)- 内核数据结构 《Linux内核设计与实现》读书笔记(七 [...]   阅读全文


信号之kill和raise函数

作者:ITtecman     分类:Linux     标签:     时间:2014.06.06     浏览:72     评论:0

kill函数将信号发送给进程或进程组。raise函数则允许进程向自身发送信号。 #include <signal.h> int kill(pid_t pid, int signo); int raise(int signo); 两个函数返回值:若成功则返回0,若出错则返回-1 调用 raise(signo); 等价于调用 kill(getpid(), signo); kill的pid参数有4种不同的情况: pid > 0       [...]   阅读全文


信号之alarm和pause函数

作者:ITtecman     分类:Linux     标签:     时间:2014.06.06     浏览:65     评论:0

使用alarm函数可以设置一个计时器,在将来某个指定的时间,该计时器会超时。当计时器超时时,产生SIGALRM信号。如果不忽略或不捕捉此信号,则其默认动作是终止调用该alarm函数的进程。 #include <unistd.h> unsigned int alarm( unsigned int seconds ); 返回值:0或以前设置的闹钟时间的余留秒数 其中,参数seconds的值是秒数,经过了指定的seconds秒后会产生信号SIGALRM。要了解的是,经过了指定的秒数后,信号由内核产生,由于进程调度的延迟,所以进程得到控制从而能够处理该信号还需要一些时 [...]   阅读全文


信号之信号集

作者:ITtecman     分类:Linux     标签:     时间:2014.06.06     浏览:56     评论:0

我们需要有一个能表示多个信号——信号集(signal set)的数据类型。POSIX.1定义了数据类型sigset_t以包含一个信号集,并且定义了下列五个处理信号集的函数。 #include <signal.h> int sigemptyset(sigset_t *set); int sigfillset(sigset_t *set); int sigaddset(sigset_t *set, int signo); int sigdelset(sigset_t *set, int signo); 四个函数的返回值:若成功则返回0,若出错则返回-1 in [...]   阅读全文


信号之sigpending函数

作者:ITtecman     分类:Linux     标签:     时间:2014.06.06     浏览:57     评论:0

sigpending函数返回信号集,其中的各个信号对于调用进程是阻塞的而不能递送,因而也一定是当前未决的。该信号集通过set参数返回。(这些信号是已经产生的信号,但因为信号屏蔽字中对其设置了屏蔽位,从而被阻塞,不能递送给进程的那些信号。注意sigpending返回的信号集与信号屏蔽字的区别。从集合角度来讲,此信号集是当前信号屏蔽字的子集。) #include <signal.h> int sigpending(sigset_t *set); 返回值:若成功则返回0,若出错则返回-1   程序清单10-11 信号设置和sigprocmask实例 [...]   阅读全文


信号之sigaction函数

作者:ITtecman     分类:Linux     标签:     时间:2014.06.06     浏览:60     评论:0

sigaction函数的功能是检查或修改与指定信号相关联的处理动作(或同时执行这两种操作)。 #include <signal.h> int sigaction( int signo, const struct sigaction *restrict act, struct sigaction *restrict oact); 返回值:若成功则返回0,若出错则返回-1 其中,参数signo是要检测或修改其具体动作的信号编号。若act指针非空,则要修改其动作。如果oact指针非空,则系统经由oact指针返回该信号的上一个动作。此函数使用下列结构: struct [...]   阅读全文


关于我

浅墨,80后程序猿,不善于前端,只会做后台。他也是地地道道的重庆崽儿,目前坐标广州。他和许多IT男一样不擅表达,也和许多摄影师一样喜欢文艺,喜欢旅行。只想记录生活写给未来的自己。

近期文章

文章归档

  1. 2015年08月 (17)
  2. 2014年06月 (6695)
  3. 2014年05月 (24)
  4. 2014年04月 (40)
  5. 2013年09月 (1)
  6. 2013年08月 (1)
  7. 2013年07月 (7)
  8. 2013年06月 (20)
  9. 2013年05月 (24)
  10. 2013年04月 (21)
  11. 2013年01月 (5)
  12. 2012年01月 (9)

标签

  1. struts2
  2. ssh
  3. wpf
  4. spring3
  5. hibernate4
  6. 数据库
  7. 串口
  8. sqlserver
  9. url重写
  10. windows应用商店应用
  11. 委托
  12. 匿名方法
  13. php
  14. 域名
  15. mysql
  16. iis
  17. Swift

随机推荐