技术标签: linux编程
SIGNAL(7) Linux Programmer's Manual SIGNAL(7)
NAME
signal - 有效信号的清单
描
下面 列出 Linux 支持的 信号. 某些 信号 依赖于 体系结构(architecture).
首先, POSIX.1 描述了 下列 信号.
信号 值 动作 说明
─────────────────────────────────────────────────────────────────────
SIGHUP 1 A 在控制终端上是挂起信号, 或者控制进程结束
SIGINT 2 A 从键盘输入的中断(ctrl-C 解释成一个SIGINT 信号,记在该进程PCB中,也可以发送一个SIGINT信号给该进程)
SIGQUIT 3 C 从键盘输入的退出(ctrl-\)
SIGILL 4 C 无效硬件指令
SIGABRT 6 C 非正常终止, 可能来自 abort(3)
SIGFPE 8 C 浮点运算例外(硬件异常产生信号,这些条件由硬件检测到并通知内核,然后内核向当前进程发送适当的信号。例如当前进程执行了除以0的指令,CPU的运算单元会产生异常,内核将这个异常解释为SIGFPE信号发送给进程)
SIGKILL 9 AEF 杀死进程信号
SIGSEGV 11 C 无效的内存引用(比如当前进程访问了非法内存地址,MMU会产生异常内核将解释成这个异常为SIGSEGV)
SIGPIPE 13 A 管道中止: 写入无人读取的管道(向读端己关闭的管道写数据时产生SIGPIPE)
SIGALRM 14 A 来自 alarm(2) 的超时信号(当内核检测到某种软件条件发生时也可以通过信号通知进程,例如闹钟超时产生SIGALRM信号,向读端己关闭的管道写数据时产生SIGPIPE)
SIGTERM 15 A 终止信号(如果不明确指定信号则发送SIGTERM)
SIGUSR1 30,10,16 A 用户定义的信号 1
SIGUSR2 31,12,17 A 用户定义的信号 2
SIGCHLD 20,17,18 B 子进程结束或停止
SIGCONT 19,18,25 继续停止的进程
SIGSTOP 17,19,23 DEF 停止进程
SIGTSTP 18,20,24 D 终端上发出的停止信号(Ctrl-Z)
SIGTTIN 21,21,26 D 后台进程试图从控制终端(tty)输入
SIGTTOU 22,22,27 D 后台进程试图在控制终端(tty)输出
下面的 信号 定义 在 SUSv2 中, 而 POSIX.1 没有 定义.
信号 值 动作 说明
───────────────────────────────────────────────────────────────────
SIGBUS 10,7,10 C 总线错误 (不正确的内存访问)
SIGPOLL A I/O就绪事件 (Sys V). 等同于SIGIO
SIGPROF 27,27,29 A 系统资源定时器(Profiling timer)超时
SIGSYS 12,-,12 C 用错误参数调用系统例程 (SVID)
SIGTRAP 5 C 跟踪/断点自陷
SIGURG 16,23,21 B 套接口上出现 urgent 情况 (4.2 BSD)
SIGVTALRM 26,26,28 A 虚拟超时时钟 (4.2 BSD)
SIGXCPU 24,24,30 C 超过了CPU时间限制 (4.2 BSD)
SIGXFSZ 25,25,31 C 超过了文件大小限制 (4.2 BSD)
(这里的 SIGSYS, SIGXCPU, SIGXFSZ, 以及 某些 系统上 的 SIGBUS, Linux 的 缺省动作
(到2.3.27版) 是 A(结束), 而 SUSv2 声明是 C(结束且核心转储).)
下面 是 其他 几个 信号.
信号 值 动作 说明
──────────────────────────────────────────────────────────────
SIGIOT 6 C IOT 自陷. 等同于 SIGABRT
SIGEMT 7,-,7
SIGSTKFLT -,16,- A 协处理器堆栈错误
SIGIO 23,29,22 A I/O 有效信号 (4.2 BSD)
SIGCLD -,-,18 等同于 SIGCHLD
SIGPWR 29,30,19 A 电源无效 (System V)
SIGINFO 29,-,- 等同于 SIGPWR
SIGLOST -,-,- A 文件锁丢失
SIGWINCH 28,28,20 B 窗口大小调整信号 (4.3 BSD, Sun)
SIGUNUSED -,31,- A 未使用的信号 (将成为 SIGSYS)
这里的 - 指 信号 不存在; 可能 给出 三个值, 第一个值 一般 用于 alpha 和 sparc,
中间的值 用于 i386, ppc 和 sh, 最后一个 是 mips 的. 信号29 在 alpha机上 是
SIGINFO / SIGPWR , 而在 sparc机上 是 SIGLOST
"动作(Action)"栏 的 字母 有 下列 含义:
A 缺省动作是结束进程.
B 缺省动作是忽略这个信号.
C 缺省动作是结束进程, 并且核心转储.
D 缺省动作是停止进程.
E 信号不能被捕获.
F 信号不能被忽略.
(译注: 这里 "结束" 指 进程 终止 并 释放资源, "停止" 指 进程 停止 运行, 但是 资源
没有 释放, 有可能 继续 运行.)
遵
POSIX.1
BUGS
SIGIO 和 SIGLOST 有 相同的 值. 后者 在 内核 源码 中 被注释 掉了, 但是 某些 软件
构造的 进程 仍然 认为 信号29 是 SIGLOST.
另
kill(1), kill(2), setitimer(2)
[中
徐
[中
2000/10/15 第一版
2001/11/24 第一次修订
Linux 1.3.88 April 14, 1996 SIGNAL(7)
信号处理。。。
man -k signal
man 2 signal
#include <signal.h>
typedef void (*sighandler_t)(int) //
/*
@param int signum
@param sighandler_t handler 函数指针
@return sighandler
*/
sighandler_t signal(int signum,sighandler_t handler)
void (*signal ( int signum,void(*handler)(int) ) ) (int); // c 与陷阱
往右一看是一个函数,
强制类型转化
(signal)0 零马上变成地址了
(signal)1 一马上变成地址了
两都变成了一个函数指针。
内存零地址存的内容。
文章浏览阅读1.2w次,点赞3次,收藏32次。——参考自:SIMATIC HMI设备 Smart 700 IE、Smart 1000 IE 操作说明HMI 设备一旦探测到操作员控件被触摸就会立即返回一个反馈。该反馈是独立的,与 PLC 的通讯无关。 因此,其并不指示相关动作是否已真正执行。设计Smart Panel 700 IE是Smart Panel 700的升级版。连接HMI与PC连接组态PC与SMART PANEL有两种连接方式,一种是通过 RS485/422 接口连接,另一种是通过以太网接口连接,后者接线图如下图所示:HM_wincc flexible 2008
文章浏览阅读570次。转自https://blog.csdn.net/guet_kite/article/details/78368928设备驱动模型概述Linux早期时候,一个驱动对应一个设备,也就对应一个硬件地址,那当有两个一样的设备的时候,就要写两个驱动,显然是不合理的。应该是从Linux2.5开始,就引入了device-bus-driver模型。其中设备驱动模型主要结构分为kset、kobject、kty..._kobject kset ktype
文章浏览阅读1.9k次。对于CSS的white-space属性,我想大部分人应该和我差不多,最常用的就是nowrap属性,最多用来做超长省略号显示的时候会用到【hiahiahia~】起因是这样的:产品doggie策划了一个元旦活动,活动主页最下边需要显示配置的活动规则,注意,是配置的活动规则,所以,免不了运营小妹要在后台配置一个活动规则,肯定不指望她们能配置html文本的呀,对吧,于是她们配置的是这样的: 1、封垫苏菲房间都是克拉夫; 2、对方萨芬的刷分放大; 3、粉打发打发打发这样色的,于..._nowarp也会换行
文章浏览阅读353次。BRVAH一.简介二.使用一.简介BRVAH是一个强大的RecyclerAdapter框架(什么是RecyclerView?),它能节约开发者大量的开发时间,集成了大部分列表常用需求解决方案。二.使用在使用时,首先要项目的build.gradle导入allprojects { repositories { google() jcenter() ..._andriod brvah适配器万能官网
文章浏览阅读91次。计算机文化基础PPT课件2019-03-15计算机文化基础PPT课件 第1章http://wenku.baidu.com/view/e7ef8b6925c52cc58bd6be97.html计算机文化基础PPT课件 第2章 Windows 2000操作系统http://wenku.baidu.com/view/e85671f5f61fb7360b4c6594.html计算机文化基础PPT课件 ..._计算机文化基础ppt
文章浏览阅读3k次。来源python123获得迭代器最后一个元素问题尝试使用 * 迭代器展开运算,返回 range(0, 1000, 4) 的最后一个元素。print([x for x in range(0,1000,4)][-1])输出:996..._处理迭代器最后一个元素
文章浏览阅读5.2k次,点赞3次,收藏25次。第七章 PX4-Mavlink解析首先我们是还是来说一说mavlink吧。Mavlink协议是无人机的一种开源通信协议。可以理解就是按照一定的格式来发送数据。这一章节涉及到了消息的打包发送和接收解析。 首先我们还是找到入口函数然后回到脚本启动中找到mavlink的启动,这个找到应该不难吧,前面几章都有这个。这里有一个需要提一下,很多_px4 mavlink 波特率
文章浏览阅读1.6k次,点赞4次,收藏8次。1. pyOpenSSL 生成RSA密钥对, 效率比较高2. rsa 加解密方法简单3. 代码import rsaimport base64from OpenSSL.crypto import PKeyfrom OpenSSL.crypto import TYPE_RSA, FILETYPE_PEM, FILETYPE_ASN1from OpenSSL.crypto import dum..._import base64 import rsa from openssl.crypto import pkey from openssl.crypto
文章浏览阅读1.8k次,点赞2次,收藏3次。同系列传送门Android 架构设计(一):设计模式分析_赵星海的博客-程序员宅基地Android 架构设计(二):分包和文件结构_赵星海的博客-程序员宅基地_android 分包结构Android 架构设计(三):技术选型_赵星海的博客-程序员宅基地关于组件化,我这边分三步与大家分享:1定义,2需求,3优劣,4改造步骤(含框架推荐);1、组件化的定义:各个业务模块可单独运行,模块相互联系只可以使用唯一的入口。如图:2、当前项目是否需要采用组件化?首先看项目大小,.._android 组件化 去除相关组件
文章浏览阅读701次。添加RecyclerView分隔线_rv_list.additemdecoration(new recyclerviewdivider距离左侧
文章浏览阅读282次。第一章 计算机系统漫游 计算机系统是由硬件和系统软件组成的。所有计算机系统都是由相似的硬件和软件组成,它们又执行着相似的功能。 以hello程序为例。 1.1信息就是位+上下文 hello程序的生命是从源程序(源文件)开始的。源程序是程序员编写的,hello.c。源程序是 0和1 的比特位,8个一组。ASCII标准来表示文本字符。 这样的文件称为文本文件,所有其他_深入理解计算机系统 jeancheng
文章浏览阅读1.4k次。方法1:读取文件中的json字符串,再用json.loads转为python字典import jsonstr_file = ‘./960x540/config.json‘with open(str_file, ‘r‘) as f:print("Load str file from {}".format(str_file))str1 = f.read()r = json.loads(str1)pri..._python 提取json元素 获取两个字段的值组成字典