截图

代码

#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <string.h>
#include <assert.h>
#include <stdlib.h>
#include <time.h>
//using namespace std;
int i;
void close_sig_handler(int sig){
int n = 0;
srand((unsigned int)time(NULL));
int A[10] = {-1};
int Temp = -1;
while (n<10)
{
Temp= rand()%100;
if(Temp%2 == 1)
{
A[n] = Temp;
}
else
{
A[n] = Temp +1;
}
n++;
}
for(int i=0;i<10;i++)
{
printf("%d ",A[i]);
}
printf("\n");
exit(0);
}
void quit_sig_handler(int sig)
{
int n = 0;
srand((unsigned int)time(NULL));
int A[10] = {-1};
int Temp = -1;
while (n<10)
{
Temp= rand()%100;
if(Temp%2 == 0)
{
A[n] = Temp;
}
else
{
A[n] = Temp +1;
}
n++;
}
for(int i=0;i<10;i++)
{
printf("%d ",A[i]);
}
printf("\n");
exit(0);
}
int main()
{
struct sigaction sa;
sa.sa_handler = close_sig_handler;
struct sigaction sb;
sb.sa_handler = quit_sig_handler;
assert(sigaction(SIGINT,&sa,NULL)!=-1);//捕获到信号sig,使用sa中规定的方法处理
assert(sigaction(SIGQUIT,&sb,NULL)!=-1);
i=0;
while(1){
//sleep(1);
}
i++;
}

进程间通信测试-signal的更多相关文章

  1. Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知(转)

    信号  ( signal ) 机制是 UNIX 系统中最为古老的进程间通信机制,很多条件可以产生一个信号. 信号的产生: 1,当用户按下某些按键时,产生信号. 2,硬件异常产生信号:除数为 0 ,无效 ...

  2. python进程间通信--信号Signal

    信号signal 是python进程间通信多种机制中的其中一种机制.可以对操作系统进程的控制,当进程中发生某种原因而中断时,可以异步处理这个异常. 信号通过注册的方式‘挂’在一个进程中,并且不会阻塞该 ...

  3. Linux 进程间通信 信号(signal)

    1. 概念: 1)信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 2)信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件. 3)如果 ...

  4. ios中的奇怪崩溃Signal和EXC_BAD_ACCESS错误分析

    什么是Signal 在计算机科学中,信号(英语:Signals)是Unix.类Unix以及其他POSIX兼容的操作系统中进程间通讯的一种有限制的方式.它是一种异步的通知机制,用来提醒进程一个事件已经发 ...

  5. linux c/c++

    string 字符串操作 操作数的都是 ( char * )型,操作数必须是指向字符串的指针("a"),不能是字符('a'),操作时不考虑末尾的'\0'. size_t strle ...

  6. Samsung_tiny4412(驱动笔记01)----linux 3.5,U-Boot,Busybox,SD卡启动环境搭建

    /*********************************************************************************** * * linux 3.5,U ...

  7. Python3 与 C# 并发编程之~进程先导篇

      在线预览:http://github.lesschina.com/python/base/concurrency/1.并发编程-进程先导篇.html Python3 与 C# 并发编程之- 进程篇 ...

  8. 生产者、消费者模型---Queue类

    Queue队列在几乎每种编程语言都会有,python的列表隐藏的一个特点就是一个后进先出(LIFO)队列.而本文所讨论的Queue是python标准库queue中的一个类.它的原理与列表相似,但是先进 ...

  9. INTEST/EXTEST SCAN

    INTEST scan指的是对IP 内部的scan cell的扫描测试,针对IP内部的flip-flop进行shift/capture的操作.和INTEST SCAN 对应的就是EXTEST SCAN ...

  10. INTEST/EXTEST SCAN 的学习

    intest scan的一些基本知识.INTEST scan指的是对IP 内部的scan cell的扫描测试,针对IP内部的flip-flop进行shift/capture的操作.和INTEST SC ...

随机推荐

  1. Android集成并开启手写笔识别

    1.首先,需要下载Pdf xchange View SDK,然后将其集成到Android项目中: 2.在Android项目中,添加以下依赖: implementation 'com.github.PD ...

  2. Java编写1到100质数之和

    int sum = 0; int k = 2; // 找出1-100的质数之和 for (int i = 2; i <= 100; i++) { // i值为2,质数为除去1和自身整除的数 j初 ...

  3. python菜鸟学习 : 16 pymongo和openpyxl的联合使用

    # -*- coding: utf-8 -*-import pymongo, openpyxl, time# pymongo#条件删选mongodb数据def mongodb_expoter(db_n ...

  4. nginx添加ssl模块

    一.在安装时添加ssl模块1.进入源码包做在的目录,进行编译,编译时添加参数–with-http_stub_status_module --with-http_ssl_module cd /usr/l ...

  5. async/await和promise的执行顺序

    原题: async function async1() { console.log("async1 start"); await async2(); console.log(&qu ...

  6. mybatis-plus 时间查询

    QueryWrapper userquery= new QueryWrapper<>(); user.and(true,wrapper -> wrapper.ge("CRE ...

  7. Mysql的性能优化方案

    MySQL的性能优化主要分为以下四个方面 设计: 存储引擎.字段类型.范式与逆范式 功能: 索引.缓存.分库分表.数据库连接池 架构上: 读写分离.集群.均衡负载 合理的SQL: 测试.优化查询语句. ...

  8. linux中用命令导出、导入mysql数据库表

    一.导出数据 1.使用场景:在没有数据库可视化工具的情况下备份导出数据库. 命令如下: mysqldump -u用户名 -p 数据库名 > 数据库名.sql mysqldump -u root ...

  9. 使用Git GUI Here进行推送时产生报错

    许多小伙伴在刚使用git时都会遇到这个问题,在推送一次内容之后,想要再次推送新的数据产生报错 下面就是我们的错误提示: 我们需要先把数据进行更新 找到Remote-->Fetch from--& ...

  10. ubuntu系统更换源和apt命令参数

    一:问题概述 ubuntu,我们在使用apt新装软件的时候,会使用官方的网站去下载软件,但是会因为国内的转接点太多,而导致下载的速度非常慢 ,我们可以通过换成一些中间的节点来进行下载,比如阿里源,中科 ...