zoukankan      html  css  js  c++  java
  • 信号通讯

    一。核心理论

      1.信号处理流程

        内核->选择信号->发送信号->进程B->处理信号

      2.信号类型

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

        SIGKLL: 杀死进程

        SIGSTOP:暂停进程

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

    二。函数学习

      1.发送信号   

        函数名:     kill

        函数原型:    intkill(pid_t pid,int sig)

        函数功能:    向进程发送信号

        所属头文件: <sys/types.h><signal.h>  

        返回值:    成功时:返回0

                失败时:返回-1

        参数说明:   pid : pid > 0 ,pid参数指向接受信号的进程

                sig : 指明要发送的信号

      2.处理信号    

        函数名:    signal

        函数原型:   typedef void(*sighandler_t)(int)

               sighandler_t signal(int signum,sighandler_t handler)

        函数功能:  设置信号的处理方式

        所属头文件:  <signal.h> 

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

               失败时 :返回SIG_ERR

        参数说明:   signum : 要处理的信号

                handler: 对应信号的处理方式

                SIG_IGN:忽视这个信号(不处理)

                SIG_DFL:交给内核来处理

               用户自定义方式:交给用户自定义的方式来处理

      3.用户自定义方式

        1.发送信号 kill -n SIGINT pid 

               pid 是指向接受信号的进程号。(ps aux 查看一下这个命令)

        2.kill 发送函数

            ./aprocee pid 

               pid 是指向接受信号的进程号。(ps aux 查看一下这个命令)

  • 相关阅读:
    IXmlSerializable With WCFData Transfer in Service Contracts
    Difference Between XmlSerialization and BinarySerialization
    Using XmlSerializer (using Attributes like XmlElement , XmlAttribute etc ) Data Transfer in Service Contracts
    Introducing XML Serialization
    Version Tolerant Serialization
    Which binding is bestWCF Bindings
    Data Transfer in Service Contracts
    DataContract KnownTypeData Transfer in Service Contracts
    Using the Message ClassData Transfer in Service Contracts
    DataContract POCO SupportData Transfer in Service Contracts
  • 原文地址:https://www.cnblogs.com/lvxiaoning/p/4947584.html
Copyright © 2011-2022 走看看