当前位置: 首页 > news >正文

Linux 软件编程学习第十一天

1.管道:
    进程间通信最简单的形式

2.信号:
    内核层和用户层通信的一种方式

    1.信号类型:
    1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
    6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
    11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
    16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
    21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
    26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
    31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
    38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
    43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
    48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
    53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
    58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
    63) SIGRTMAX-1    64) SIGRTMAX    

    可以从终端输入:
        SIGINT      ctrl+c 
        SIGQUIT     ctrl+\
        SIGTSTP     ctrl+z 
    
    9号和19号信号 
        SIGKILL 进程结束
        SIGSTOP 进程挂起

    SIGSEGV:表示内核操作内存错误
    SIGUSR1:用户可以使用该信号实现通信 
    SIGCHLD:表示该进程有一个子进程结束了 
    SIGPIPE:表示管道破裂
    SIGIO:表示IO事件发生

    2.信号的处理方式:
        1.缺省:
            按照默认的方式处理信号
        2.忽略:
            不处理信号
        3.捕捉:
            按照指定的方式处理信号

        9号SIGKILL和19号信号SIGSTOP不能被忽略和捕捉
    
    3.函数接口:
        1.signal
            typedef void (*sighandler_t)(int);
            sighandler_t signal(int signum, sighandler_t handler);
            功能:
                切换信号的处理方式
            参数:
                signum:信号的编号
                handler:信号对应的处理方式
                    SIG_IGN     忽略信号
                    SIG_DFL     缺省信号处理方式
                    自定义的函数的函数名(指向函数的指针)
            返回值:    
                成功返回之前注册的信号的处理方式
                失败返回SIG_ERR

    4.定时器:
        alarm 
        unsigned int alarm(unsigned int seconds);
        功能:
            间隔seconds秒后给进程发送SIGALRM信号
        参数:
            seconds:间隔秒数
        返回值:
            成功返回上次定时剩余的秒数
            失败返回-1

    5.kill 
        int kill(pid_t pid, int sig);
        功能:
            向进程发送信号
        参数:
            pid:进程id
            sig:信号值
        返回值:
            成功返回0
            失败返回-1


 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用RPC服务的步骤
  • python打怪练习
  • UEFI ——Firmware层级结构
  • [数据集][目标检测]轴承缺陷划痕检测数据集VOC+YOLO格式1166张1类别
  • wordpress评论ip异常问题
  • 美团面经到店研发
  • 微服务的多面手:Spring Cloud 多数据中心支持全解析
  • 使用Python+moviepy保存截取视频画面
  • javaweb_07:分层解耦
  • Java之TCP编程综合案例
  • 卷积神经网络的相关知识点
  • C++相关概念和易错语法(25)(列表初始化、initializer_list)
  • 【云原生】Prometheus Pushgateway使用详解
  • Java对象头里有哪些信息
  • 如何在linux系统上部署Redis
  • CSS 三角实现
  • Cumulo 的 ClojureScript 模块已经成型
  • Java超时控制的实现
  • js正则,这点儿就够用了
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前言-如何学习区块链
  • 三分钟教你同步 Visual Studio Code 设置
  • 王永庆:技术创新改变教育未来
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (13)Hive调优——动态分区导致的小文件问题
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (SERIES12)DM性能优化
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (力扣)1314.矩阵区域和
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (转)Linux下编译安装log4cxx
  • .net下的富文本编辑器FCKeditor的配置方法
  • .NET业务框架的构建
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [12] 使用 CUDA 进行图像处理
  • [20180129]bash显示path环境变量.txt
  • [acm算法学习] 后缀数组SA
  • [AI Embedchain] 开始使用 - 全栈
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [C/C++]数据结构 循环队列
  • [GHCTF 2024 新生赛]ezzz_unserialize
  • [HDOJ4911]Inversion
  • [HDU]2161Primes