zoukankan      html  css  js  c++  java
  • 信号通讯编程,王明学learn

                信号通讯编程

    在Linux系统中,信号(signal)同样也是最为古老的进程间通信机制。

    一、信号类型

    Linux系统支持的所有信号均定义在/usr/include/asm/signal.h(展示),其中常见的信号有:

      SIGKILL:杀死进程

      SIGSTOP:暂停进程

      SIGCHLD:子进程停止或结束时用来通知父进程

    二、函数学习

    2.1 发送信号

    2.1.1 函数名

      kill

    2.1.2 函数原形

      int kill(pid_t pid,int sig);

    2.1.3 函数功能

      向进程发送信号

    2.1.4 所属头文件

      <sys/types.h>  <singl.h>

    2.1.5 返回值

      成功:返回0

      失败:返回-1

    2.1.6 参数说明

      pid:   if(pid>0),pid 参数指向接收信号的进程

      sig:用来指明我们要发送的信号

    2.2 处理信号

    2.2.1 函数名

      signal

    2.2.2 函数原形

      typedef void(*sighandler_t)(int);

      sighandler_t signal(int signum,sighandler_t handler);

    2.2.3 函数功能

      设置信号处理方式

    2.2.4 所属头文件

      <signal.h>  

    2.2.5 返回值

      成功:返回处理函数的指针

      失败:返回SIG_ERR

    2.2.6 参数说明

      Signum:要处理的的信号

      handler:对应信号的处理方式,可以取值(3种)

      SIG_IGN:忽视这个信号不处理

      SIG_DFL:交给内核处理

    用户自己定义的函数:交给用户自定义的函数处理

     

     

  • 相关阅读:
    python之编写购物车(第二天)
    day6作业--游戏人生
    day7 socket网络编程基础
    day7 --socket网络编程基础
    Python类和人类
    day7 socket网络编程
    day7异常处理
    day7面向对象--反射
    day6面向对象--类的特殊成员方法
    使用BigDecimal来进行精确计算
  • 原文地址:https://www.cnblogs.com/wmx-learn/p/5302879.html
Copyright © 2011-2022 走看看