zoukankan      html  css  js  c++  java
  • 【转】Unix信号量中基础知识介绍

    原文:http://os.51cto.com/art/201004/195920.htm

    Unix信号量在我们的使用中也经常用到,今天,我们就来学习下Unix信号量的知识。信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。

    UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。

    Unix信号量也可以在文件/usr/include/sys/signal.h中查看
    #define SIGHUP  进程由於控制终端死去或者控制终端发出起命令
    #define SIGINT  键盘中断所产生的信号
    #define SIGQUIT  键盘终止
    #define SIGILL  非法的指令
    #define SIGTRAP   进程遇到一个追踪(trace)或者是一个中断嵌套
    #define SIGABRT  由abort系统调用所产生的中断信号
    #define SIGIOT  类似於SIGABRT
    #define SIGBUS   进程试图使用不合理的记忆体
    #define SIGFPE  浮点异常
    #define SIGKILL  KILL
    #define SIGUSR1  用户自定义
    #define SIGSEGV  段错误
    #define SIGUSR2  用户自定义
    #define SIGPIPE  管道操作时没有读只写
    #define SIGALRM 由alarm系统调用产生的timer时钟信号
    #define SIGTERM 收到终端信号的进程
    #define SIGSTKFLT 堆叠错误
    #define SIGCHLD  子进程向父进程发出的子进程已经stop或者终止的信号
    #define SIGCONT  继续运行的信号
    #define SIGSTOP  stop
    #define SIGTSTP  键盘所产生的stop信号
    #define SIGTTIN   当运行在後状态时却需要读取stdin的资料
    #define SIGTTOU   当运行在後状态时却需要写向stdout
    #define SIGURG   socket的紧急情况
    #define SIGXCPU  进程超额使用CPU分配的时间
    #define SIGXFSZ  进程使用了超出系统规定文件长度的文件
    #define SIGVTALRM  内部的alarm时钟过期
    #define SIGPROF  在一个程式段中描绘时钟集过期
    #define SIGWINCH 终端视窗的改变
    #define SIGIO 非同步IO
    #define SIGPOLL  SIGIO pollable事件发生

    通过结合trap命令使用:trap <command-list>  <signal-list>

    以上这些Unix信号量的知识,希望大家能够记住,方便以后我们的使用。

    原文:http://os.51cto.com/art/201004/195920.htm

    更多Unix文章见 http://os.51cto.com/col/522/

  • 相关阅读:
    vim的一些基本配置
    做菜好吃的小技巧02
    SQLServer创建用户登录
    Python库整理
    centos7开机界面出现多个选项
    Elasticsearch和MongoDB简要对比
    OLTP与OLAP
    CentOS7命令总结
    windows下快速删除命令
    Idea配置热部署
  • 原文地址:https://www.cnblogs.com/ainiaa/p/1751342.html
Copyright © 2011-2022 走看看