通讯架构学习-nginx-(四) 信号的基本概念

信号的基本概念:
    进程间常用的通信手段:发送信号, kill..
    SIGHUP
    信号:通知, 事件通知, 用来通知某个进程发生了一个事情
    事件, 信号都是突发的, 信号是异步发生的,也叫软件中断
信号的产生:
    a)某个进程发送给另一个进程或者发送给自己
    b)由内核发送给某个进程
        1)在键盘上输入命令ctrl+c 中断信号, kill命令
        2)内存访问异常,除数为0, 硬件都会检测到并且通知内核

信号的名字:一般以SIG开头 例如:SIGHUP(终端断开信号)
unix以及类unix操作系统:支持的信号各不相同10-60个之间;
信号既有名字, 也是一些数字, 信号是一些正整数常量
#include<signal.h> (/usr/include)

gcc搜索路径:
    头文件, 包含路径:/user/local/include/ /usr/include/
    库文件, 连接路径: /usr/local/lib/ /usr/lib

// sudo   find    /    -name    "signal"    |    xargs     grep       -in        "SIGHUP
  
                     根目录        要找的东西   给其他命令传参    忽略大小写,显示行号
用了xargs就是在“signal”内容中搜索

kill : kill 进程id(他的工作是发个信号给进程)可以给进程发送多种信号;
       kill -1 进程ID  (1其实就是sighup)


进程的状态:加上stat 
    ps -eo pid,ppid,sid,tty,pgrp,comm,stat | grep -E 'bash|PID|nginx' 

信号处理常见动作:
    (1)执行系统默认动作, 绝大多数默认动作都是杀死这个进程
    (2)忽略此信号 SIG_ING:signal(SIGHUP, SIG_IGN);
    (3)捕捉该信号:写个处理函数,信号来的时候,用该函数进行处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值