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

移动端h5网站开发框架个人网站设计介绍文字

移动端h5网站开发框架,个人网站设计介绍文字,企业网站建设可行性分析任务,全国企业信息公示(全国)学习分享 1、信号的基本概念2、查看信号列表3、常见信号名称4、signal库函数5、发送信号kill6、kill - signal #xff08;无参信号#xff09;示例6.1、kill - signal (不可靠信号)示例6.2、kill - signal (可靠信号)示例 7、信号分类7.1、信号运行原理分类7.2、信号是否携带… 学习分享 1、信号的基本概念2、查看信号列表3、常见信号名称4、signal库函数5、发送信号kill6、kill - signal 无参信号示例6.1、kill - signal (不可靠信号)示例6.2、kill - signal (可靠信号)示例 7、信号分类7.1、信号运行原理分类7.2、信号是否携带数据分类 8、sigaction库函数9、sigqueue库函数10、sigaction - sigqueue带参信号示例11、屏蔽信号11.1、信号集操作函数11.2、sigprocmask函数11.3、屏蔽信号示例 12、信号冲突12.1、信号冲突示例12.2、信号冲突解决方案示例 1、信号的基本概念 信号是UNIX系统响应某些状况而产生的事件进程在接收到信号时会采取相应的行动。 信号是因为某些错误条件而产生的比如内存段冲突、浮点处理器错误或者非法指令等 它们由shell和终端管理器产生以引起中断。 进程可以生成信号、捕捉并响应信号或屏蔽信号 2、查看信号列表 使用命令kill -l 查看信号列表 CTRLC 就是向进程发送2号信号 1-31为系统信号34-64为扩展信号提供开发人员使用 3、常见信号名称 信号的名称是在头文件 signal.h里定义的 SIGUSR1 和SIGUSR2没有任何含义由开发人员自由定义 4、signal库函数 类型QT中的connect 5、发送信号kill 类似QT中的emit 6、kill - signal 无参信号示例 #include iostream #include unistd.h #include signal.h using namespace std;void signal_function(int num)/信号处理函数 {coutpid getpid()信号处理函数被触发endl; } int main() {//信号的注册绑定signal(SIGUSR1,signal_funcion);pid_t pid fork();if(pid0){//父进程sleep(5);//发送信号kill(pid,SIGUSR1);while(1){}}else {//子进程while(1){cout子进程pid getpid()endl;sleep(1);}}return 0; }6.1、kill - signal (不可靠信号)示例 1-31为不可靠信号连续发送多次响应1次。不会连续触发处理函数调用但是间隔发送就会挨个处理。带有操作系统分配的特殊含义 #include iostream #include unistd.h #include signal.h using namespace std;void signal_function(int num)/信号处理函数 {coutpid getpid()信号处理函数被触发endl; } int main() {//信号的注册绑定signal(SIGUSR1,signal_funcion);pid_t pid fork();if(pid0){//父进程sleep(5);for(int i0;i3;i){couti iendl; //发送信号kill(pid,SIGUSR1);sleep(1);}while(1){}}else {//子进程while(1){cout子进程pid getpid()endl;sleep(1);}}return 0; }6.2、kill - signal (可靠信号)示例 34-64为可靠信号连续发送会连续触发处理函数调用 #include iostream #include unistd.h #include signal.h using namespace std;void signal_function(int num)/信号处理函数 {coutpid getpid()信号处理函数被触发endl; } int main() {//信号的注册绑定signal(SIGUSR1,signal_funcion);pid_t pid fork();if(pid0){//父进程sleep(5);for(int i0;i3;i){couti iendl; //发送信号kill(pid,SIGRTMIN);}while(1){}}else {//子进程while(1){cout子进程pid getpid()endl;sleep(1);}}return 0; }7、信号分类 7.1、信号运行原理分类 1-31不可靠信号连续发送不会连续触发处理函数调用但是间隔发送就会挨个处理带有操作系统分配的特殊含义34-64可靠信号连续发送会连续触发处理函数调用 7.2、信号是否携带数据分类 1、无参信号signal - kill 2、携带参数信号 sigaction - sigqueue 8、sigaction库函数 Linux中查看函数详情命令man sigaction 9、sigqueue库函数 Linux中查看函数详情命令man sigqueue 10、sigaction - sigqueue带参信号示例 #include iostream #include unistd.h #include signal.h using namespace std;void sigaction_fuction(int num,siginfo_t* info, void*vo) //num指信号编号 {int res info-si_int;coutpid getpid()信号处理函数被触发 resresendl; } int main() {struct sigaction act;act.sa_sigaction sigaction_function://带参信号处理函数act.sa_flags SA_SIGINFO;//当前信号带参数sigction(SIGUSR1,act,NULL);//带参信号的绑定pid_t pid fork();if(pid0){//父进程sleep(5);//带参信号发送union sigval val;//联合体val.sival_int 1001;sigqueue(pid,SIGUSR1,val);while(1){}}else {//子进程while(1){cout子进程pid getpid()endl;sleep(1);}}return 0; }11、屏蔽信号 11.1、信号集操作函数 11.2、sigprocmask函数 11.3、屏蔽信号示例 #include iostream #include unistd.h #include signal.h #include stdio.h using namespace std; void sigaction_fuction(int num,siginfo_t* info, void*vo) //num指信号编号 {int res info-si_int;coutpid getpid()信号处理函数被触发 resresendl; } int main() {struct sigaction act;act.sa_sigaction sigaction_function://带参信号处理函数act.sa_flags SA_SIGINFO;//当前信号带参数sigction(SIGUSR1,act,NULL);//带参信号的绑定pid_t pid fork();if(pid0){//父进程sleep(5);//带参信号发送union sigval val;//联合体val.sival_int 1001;sigqueue(pid,SIGUSR1,val);while(1){}}else {//子进程//屏蔽信号//创建信号集sigset_t array;//初始化信号集sigemptyset(array);//添加需要屏蔽的信号sigaddset(array,SIGUSR1);sigaddset(array,SIGUSR2);//启用信号“黑名单”if(sigprocmask(SIG_BLOCK,array,NULL)0){perror(sigprocmask error);}while(1){cout子进程pid getpid()endl;sleep(1);}}return 0; }12、信号冲突 当一个进程接收到一个信号去执行该信号的处理函数但是信号处理函数还没执行完就收到另一个信号。 12.1、信号冲突示例 #include iostream #include unistd.h #include signal.h #include stdio.h using namespace std; void test1(int num) {couttest1开始运行endl;sleep(30);couttest1结束运行endl; } void test2(int num) {couttest2 运行 .....endll; } int main() {struct sigaction act1;act.sa_sigaction test1:act1.flags 0;//无参信号struct sigaction act2;act.sa_sigaction test2;act2.flags 0;//无参信号sigction(SIGUSR1,act1,NULL);sigction(SIGUSR2,act2,NULL);while(1){cout进程pid getpid()endl;sleep(1);}return 0; }12.2、信号冲突解决方案示例 #include iostream #include unistd.h #include signal.h #include stdio.h using namespace std; void test1(int num) {couttest1开始运行endl;sleep(30);couttest1结束运行endl; } void test2(int num) {couttest2 运行 .....endll; } int main() {struct sigaction act1;act.sa_sigaction test1:act1.flags 0;//无参信号struct sigaction act2;act.sa_sigaction test2;act2.flags 0;//无参信号//信号1在处理时不希望信号2来打扰//所以在信号1的struct sigaction结构体中拉黑了信号2sigemptyset((act1.sa_mask));//将act1.sa_mask设置为空信号集。//将SIGUSR2信号添加到act1.sa_mask中。sa_mask成员用于指定在执行信号处理函数时需要阻塞的信号集合。sigaddset((act1.sa_mask),SIGUSR2);sigction(SIGUSR1,act1,NULL);sigction(SIGUSR2,act2,NULL);while(1){cout进程pid getpid()endl;sleep(1);}return 0; }
http://www.ho-use.cn/article/10820343.html

相关文章:

  • 莱阳 网站建设什么是网站标题
  • 娱乐公司网站模板佛系汉化组wordpress博客
  • 全国购网站建设wordpress主题图片丢失
  • 四川网站建设培训学校什么都能买到的网站
  • 网站开发有哪些框架惠州地区网站建设公司
  • 百度指数数据分析平台官网seo优化营销专员招聘
  • 佛山网站设计联系方式微信网站建设口碑好
  • 投票网站怎么做的芜湖比较出名的企业
  • 秦皇岛网站制作网页设计基础教程视频教程
  • 专业网站建设报价网址大全12306
  • 高创园网站建设方案wordpress 多媒体尺寸
  • 百度推广 帮做网站吗用自己网站做邮箱域名
  • 网站建设会面临些什么问题品牌建设架构
  • 网站关键词排名优化上海临港
  • 中文网站站内优化怎么做沧州高端网站建设
  • 网站建设基础问题广告设计培训班学费一般多少钱
  • 彩票网站上的走势图是怎么做的做网站好用的cms
  • 洛阳市住房与城乡建设部网站公司注销后 网站备案
  • 东莞h5网站制作网站开发的最初阶段包括
  • 怎么在外国网站上找产品做跨境电商网站被host重定向
  • 网站建设更新维护工作好看的手机网站模板
  • 做电影网站需要哪些条件旅游分析 网站
  • 网站建设套餐联系方式网站开发的费用
  • 中国建设银行网站登录不了公司logo图片
  • seo网站关键词优化报价汽车网站建设预算
  • 网站建设产品话术网站seo 工具
  • wordpress网站域名服务器人人装修网
  • 系统开发师如何结合搜索检索与seo推广
  • 做超市dm的网站wordpress 七牛非插件
  • 做网站付款流程网站开发 python