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

增加网站外链网络营销最基本的应用方式是什么

增加网站外链,网络营销最基本的应用方式是什么,网络服务提供者接到权利人通知后,本地网站怎么做目录 前言 一.信号的概念 二.信号的产生 1.键盘产生 2.系统调用 3.软件条件 4.异常 三.信号的保存 四.信号的处理 信号处理的方式 设定屏蔽信号 自定义处理信号 信号处理的时机 前言 进程信号(Process Signals)是操作系统与运行进程之间进行通…

目录

前言

一.信号的概念

二.信号的产生

1.键盘产生

2.系统调用

3.软件条件

4.异常

三.信号的保存

四.信号的处理

信号处理的方式

设定屏蔽信号

自定义处理信号

信号处理的时机


前言

        进程信号(Process Signals)是操作系统与运行进程之间进行通信的一种机制。信号通常用于通知进程发生了某些事件,如异常情况、硬件事件、系统调用的错误或用户发出的中断请求。信号的处理方式与异常处理类似,它允许进程在接收到信号时,暂时中断当前的执行流程,以处理特定的事件,  学习进程的信号有利于我们理解程序的运行情况

一.信号的概念

信号是Linu×系统提供让用户(进程)给其他进程发送异步信息的一种方式,属于软中断

进程在接收到信号时,暂时中断当前的执行流程,以处理特定的事件

使用kill -l 命令查看全部信号

[1,31]信号是非实时信号,  进程收到信号后选择在合适的时间处理

[34,64]信号是实时信号,  进程收到信号后需要马上处理

这些信号也是一个个宏定义,

#define	SIGINT		2	/* Interactive attention signal.  */
#define	SIGILL		4	/* Illegal instruction.  */
#define	SIGABRT		6	/* Abnormal termination.  */
#define	SIGFPE		8	/* Erroneous arithmetic operation.  */
#define	SIGSEGV		11	/* Invalid access to storage.  */
#define	SIGTERM		15	/* Termination request.  *//* Historical signals specified by POSIX. */
#define	SIGHUP		1	/* Hangup.  */
#define	SIGQUIT		3	/* Quit.  */
#define	SIGTRAP		5	/* Trace/breakpoint trap.  */
#define	SIGKILL		9	/* Killed.  */
#define SIGBUS		10	/* Bus error.  */
#define	SIGSYS		12	/* Bad system call.  */
#define	SIGPIPE		13	/* Broken pipe.  */
#define	SIGALRM		14	/* Alarm clock.  */

二.信号的产生

1.键盘产生

        比如程序在前台运行的时候,  我们中止这个进程会直接ctrl+c,  或者ctrl+/,  这些都会被识别为信号处理Ctrl+c 会被识别为SIGINT,  Ctrl+/会被识别为SIGQUIT

        使用键盘输入的时候,  键盘控制器(通常是PS/2或USB控制器)会生成一个硬件中断信号。这个信号会通过系统总线传递给CPU  触发硬件中断,  CPU就会去中断向量表中执行对应的方法,  读取键盘输入,  最后判断键盘输入,  如果解释为字符就进行写入,  如果解释为信号就向对应的进程写入信号

2.系统调用

使用系统调用发送信号

向一个指定进程发送信号

向自己发送指定信号

向自己发送SIGABRT(6)信号

3.软件条件

比如这个是一个闹钟

设定闹钟,时间到了向自己发SIGALRM(14)信号

如果闹钟已经设定,  则返回上个闹钟的剩余时间

4.异常

比如

SIGFPE(8) 浮点数错误

SIGSEGV(11) 段错误

cpu在计算的是否如果出现异常,  就会对自己发生硬件中断,  使得操作系统来处理这些异常,  

比如发生除0错误,  cpu计算错误,  寄存器里有状态标识寄存器,  OS识别到这个标记就会执行相对应的方法操作系统就会给该进程写入SIGFPE信号

发生越界访问就会写入SIGSEGV信号

三.信号的保存

信号保存在进程的PCB中,  采用位图结构保存,  所谓发送信号就是OS向进程的PCB写入信号

  • 实际执行信号的处理动作称为信号递达(Delivery)
  • 信号从产生到递达之间的状态,称为信号未决(Pending)
  • 进程可以选择阻塞 (Block )某个信号。
  • 被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作.
  • 注意,阻塞和忽略是不同的,只要信号被阻塞就不会递达,而忽略是在递达之后可选的一种处理动作。

进程收到的信号会被保存在pending表,  如果接收到这个信号,  就置为1

block表表示这个信号是否被忽略

handler表示这个信号处理的动作

四.信号的处理

信号处理的方式

1.默认处理

2.自定义处理

3.忽略

使用 man 7 signal来查看信号的默认处理

Term   直接中止进程
Ign    不做处理
Core   核心转储
Stop   暂停进程
Cont   如果该进程当前已暂停,则继续该进程.

设定屏蔽信号

信号集操作函数

设置信号屏蔽

how常用选项

  • SIGBLOCK:  表示要添加忽略处理的信号
  • SIGUNBLOCK:  表示将这些信移出block表
  • SIGSETMASK:  表示直接将屏蔽信号修改为传入的信号集

可以使用sigpending获得pending表

自定义处理信号

对指定信号自定义处理

handler:  一个函数指针,   表示要执行的自定义函数

比如将SIGINT信号自定义处理

#include<iostream>
#include<signal.h>
void handler(int sig)
{//自定义处理
}int main()
{signal(SIGINT,handler);return 0;
}

之后进程收到这个信号就会直接执行handler函数

如果需要忽略这个信号

signal(SIGINT,SIG_IGN);

信号处理的时机

进程从内核态切换到用户态的时候OS会检测处理信号

http://www.hkea.cn/news/728648/

相关文章:

  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询
  • 梧州网站推广方案百度热搜 百度指数
  • 网站不兼容ie6自助建站模板
  • 甘肃网站建设公司百中搜优化软件
  • 国内外贸网站建设公司seo教程 百度网盘
  • 一物一码二维码生成系统最好用的系统优化软件
  • 如何在大网站做外链镇江网站建站
  • 杭州网站建设公司导航短视频营销案例
  • 昆明做网站建设有哪些长尾关键词排名工具
  • 一女被多男做的视频网站网站seo系统
  • 网站建设 青海网站建设找哪家好
  • win7 网站配置优化方案官网电子版
  • 广州seo优化公司排名浙江seo博客
  • 全网推广的方式有哪些抖音seo推荐算法
  • 网站开发开源架构抖音营销软件
  • 自己做的网站能放到网上么青岛seo经理
  • 营业推广策划方案邵阳网站seo
  • 手机网站横向切换kol合作推广
  • 专门做超市海报的网站宁波seo咨询
  • 仿网站上的焦点图在线看seo网站
  • 做网站的业务员艾滋病阻断药有哪些
  • web集团网站建设广告投放平台有哪些
  • 大连做网站建设广告资源对接平台
  • 做网站怎么写工作日志泉州网站seo公司
  • wordpress外链站内打开搜索引擎是什么意思啊