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

百度提交网站改版网络营销策划书总结

百度提交网站改版,网络营销策划书总结,东莞做网站公司多少钱,怎样做汽车网站建设一、生活中的信号 生活中会产生很多信号: 等待红绿灯的信号网购后等待取件的信号平台上订购外卖后到达通知的信号 往往我们人接收信号后会有三类不同的动作,比如: 默认执行(红灯停绿灯行、马上取快递、马上拿外卖)…

一、生活中的信号

生活中会产生很多信号

  • 等待红绿灯的信号
  • 网购后等待取件的信号
  • 平台上订购外卖后到达通知的信号

往往我们人接收信号后会有三类不同的动作,比如:

  • 默认执行(红灯停绿灯行、马上取快递、马上拿外卖)
  • 进行自定义动作(边唱歌边等红绿灯、边打电话边取件)
  • 选择忽略(忽略红绿灯直接闯、忽略外卖继续打游戏

然而,在信号产生之前,我们是不清楚信号会什么时候产生?,则称为:我们和信号之间是异步的。


二、进程中的信号

1.基础理解

我们先执行一段程序:

#include<iostream>
#include<unistd.h>using namespace std;int main()
{while (true){cout << "hello, i am a process !!!" << endl;sleep(1);}return 0;
}

执行结果:
在这里插入图片描述
从结果我们可以看到,我们输入 “CTRL+C” 后,程序被终止了。原因就是按下 “CTRL+C” 会对程序发出 2号信号 —> 2) SIGINT

2.Linux中的31个普通信号

使用 kill -l 进行查阅

在这里插入图片描述
我们一般只研究前31个。前31个被称为普通信号,其他被称为实时信号

详细内容可查看如下文章:
Linux中31个普通信号含义解读


三、几个传输信号的函数接口

1.系统调用kill函数&&模拟实现

KILL(2)
NAMEkill - send signal to a processSYNOPSIS#include <sys/types.h>#include <signal.h>int kill(pid_t pid, int sig);//pid:目标进程的pid。sig:几号信号成功时(至少发送了一个信号),返回零。出现错误时,返回 -1,并设置errno

kill函数可以向任意进程发送任意信号,
kill命令底层实际上就是kill系统调用,信号的发送由用户发起,而执行者是OS。

发送信号的能力是OS的,但是有这个能力并不一定有使用这个能力的权力,一般情况下用户决定OS向目标进程发信号。所以OS有这个能力,那么对外提供能力只能通过系统调用的接口的方式来让用户向目标进程发送信号。

kill函数模拟实现如下

#include<iostream>
#include<unistd.h>
#include<sys/types.h>
#include<signal.h>
#include<string>
using namespace std;void Usage(string proc)
{cout << "Usage:\n\t" << proc << " signum pid\n\n";
}
int main(int argc, char *argv[])
{//usage: ./mykill signum pidif (argc != 3){Usage(argv[0]);exit(1);}int signum = stoi(argv[1]);pid_t pid = stoi(argv[2]);int ret = kill(pid, signum);if (ret == -1){perror("kill");exit(2);}return 0;
}
//myproc.cc
#include<iostream>
#include<unistd.h>
using namespace std;int main()
{while (true){cout << "hello, i am a process, pid is " << getpid() << endl;sleep(1);}return 0;
}

实现效果
在这里插入图片描述

2.raise函数

raise函数可以让进程给自己发送任意信号。

RAISE(3)
NAMEraise - send a signal to the callerSYNOPSIS#include <signal.h>int raise(int sig);RETURN VALUEraise() returns 0 on success, and nonzero for failure.
#include<iostream>
#include<unistd.h>
#include<sys/types.h>
#include<signal.h>
using namespace std;int main()
{int cnt = 10;while (cnt--){cout << "i am a process!!!" << endl;sleep(1);if (cnt == 5){raise(3);//kill(getpid(), 3);}}return 0;
}

实现效果
在这里插入图片描述

3.abort函数

abort终止进程的方式,给自己发送指定的信号 6) SIGABRT 。

ABORT(3)
NAMEabort - cause abnormal process terminationSYNOPSIS#include <stdlib.h>void abort(void);RETURN VALUEThe abort() function never returns.
#include<iostream>
#include<unistd.h>
#include<sys/types.h>
#include<signal.h>
#include<cstdlib>
#include<string>
using namespace std;int main()
{int cnt = 10;while (cnt--){cout << "i am a process!!!" << endl;sleep(1);if (cnt == 5){abort();//kill(getpid(), 6);}}return 0;
}

在这里插入图片描述

http://www.dtcms.com/wzjs/450403.html

相关文章:

  • wordpress修订版本 插件图片优化软件
  • 郑州市网络设计公司重庆高端网站seo
  • 海珠区网站建设网站优化方式有哪些
  • wordpress 怎么传递参数 get参数官网排名优化方案
  • 凡科网站建设企业网站设计方案
  • 给网站栏目页做反链好吗百度官网认证申请
  • 品划网络做网站百度账号注册申请
  • 秦皇岛做网站的公司物联网开发
  • 升降机网站怎么做免费建自己的网站
  • 个人网站建设服务器网络营销课程速成班
  • 政府网站的作用和意义国内十大搜索引擎排名
  • 怎么做购物平台网站中国十大网络销售公司
  • 网页在线客服系统源码企业网站seo案例分析
  • 求个网站你明白的 知乎阿里seo排名优化软件
  • 自己动手创建一个公司网站手机百度seo快速排名
  • 正规的企业网站建设公司电销外包团队在哪找
  • 手机网站设计自己怎么注册网站
  • 对高校网站建设的期待网站域名综合查询
  • 网站页面做成自适应优缺点国内时事新闻
  • qq小程序下载沈阳seo优化排名公司
  • 手机销售网站建设项目书中国网评中国网评
  • 自己怎么做视频网站2345网址导航浏览器
  • 我想在购物网站做代理大众网疫情最新消息
  • 大数据 做网站流量统计市场调研报告怎么写
  • 网站建设中 gif厦门人才网
  • 甘肃城乡建设局安全质量网站杭州企业seo
  • 怎样建小型网站济南疫情最新情况
  • 网站的优化 设计站长之家最新域名查询
  • 上网站乱码360手机优化大师安卓版
  • 传奇私服发布网网站建设注册域名在哪里注册