| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 信号概念、认识和处理 - Linux C++网络编程(八) -> 正文阅读 |
|
[系统运维]信号概念、认识和处理 - Linux C++网络编程(八) |
一:信号的基本概念 进程之间的常用通信手段:发送信号,kill ?第二章第二节讲过; 上节课讨论过 SIGHUP 信号 :通知(事情通知),用来通知某个进程发生了某一个事情; ? ? 事情,信号都是突发事件, 信号是异步发生的,信号也被称呼为“软件中断” 信号如何产生: a)某个进程发送给另外一个进程或者发送给自己; b)由内核(操作系统)发送给某个进程 ? ? b.1)通过在键盘输入命令ctrl+c[中断信号],kill命令 ? ? b.2)内存访问异常,除数为0等等,硬件都会检测到并且通知内核; 信号名字,都是以SIG开头,上节课SIGHUP(终端断开信号) ? ? UNIX以及类(类似)UNIX操作系统(linux,freebsd,solaris);支持的信号数量各不相同。10-60多个之间; 信号既有名字,其实也都是一些数字,信号是一些正整数常量;信号就是宏定义(数字,从1开始) #include <signal.h>(/usr/include/) gcc 头文件,包含路径:/user/local/include/ ? /usr/include/ 库文件,连接路径:/usr/ local/lib/ ? ? ?/usr/lib sudo find / -name "signal.h" | xargs grep -in "SIGHUP" 二:通过kill命令认识一些信号 kill :kill 进程id ,他的工作是发个信号给进程; kill能给进程发送多种信号; ps -eo pid,ppid,sid,tty,pgrp,comm | grep -E 'bash|PID|nginx' sudo strace -e trace=signal -p 1184 a)如果你单纯的用kill 进程id,那么就是往 进程发送SIGTERM信号(终止信号) kill -数字 进程id,能发出跟这个数字对应的信号 ?-1 进程id,SIGHUP信号去 b)如果我门用kill -1 进程id,那么就是往进程nginx发送SIGHUP终止信号;同时进程nginx就被终止掉了; c)kill -2 进程id,发送SIGINT信号; kill -数字 进程id ,能发送出多种信号; 三:进程的状态 ps -eo pid,ppid,sid,tty,pgrp,comm,stat | grep -E 'bash|PID|nginx' ps aux | grep -E 'bash|PID|nginx' ? ?//aux所谓BSD风格显示格式; kill只是发个信号,而不是单纯的杀死的意思。 四:常用的信号列举 kill 命令不同数字所能发出的不同信号
进程状态:
常用信号列举:
五:信号处理的相关动作 当某个信号出现时,我们可以按三种方式之一进行处理,我们称之为信号的处理或者与信号相关的动作; (1)执行系统默认动作 ,绝大多数信号的默认动作是杀死你这个进程; (2)忽略此信号(但是不包括SIGKILL和SIGSTOP) kill -9 进程id,是一定能够把这个进程杀掉的; (3)捕捉该信号:我写个处理函数,信号来的时候,我就用处理函数来处理;(但是不包括SIGKILL和SIGSTOP) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 19:30:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |