zoukankan      html  css  js  c++  java
  • UNIX 信号和用途

    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信号量的知识,希望大家能够记住,方便以后我们的使用。
     

  • 相关阅读:
    sqlserver服务 正在挂起更改,导致无法打开或者停止服务
    menuStrip与toolStrip的使用
    sqlDataCommandBuilder为dataGridView自动生成增删改代码时报错
    visual studio属性面板解释文字看不见
    窗体句柄 控件句柄
    form窗体show不出来
    TextBox密码框变文本框,文本框变密码框
    DataSet数据集手动添加一行记录
    Anaconda3-更换为清华源后依旧报错CondaHTTPError: HTTP 000 CONNECTION FAILED
    Kali Linux 国内源
  • 原文地址:https://www.cnblogs.com/caly/p/2231241.html
Copyright © 2011-2022 走看看