Linux Linux程序练习七

题目:实现两个程序mysignal、mycontrl,mycontrl给mysignal发送SIGINT信号,控制mysignal是否在屏幕打印“hello”字符串。

 

//捕捉信号

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>#include <unistd.h>
#include <signal.h>int flag=0;void catch_sig(int sign)
{switch(sign){case SIGINT:flag=flag==0?1:0;break;case SIGALRM:exit(0);}
}int mysignal(int sign,void (*func)(int))
{struct sigaction act,oact;act.sa_handler=func;sigemptyset(&act.sa_mask);act.sa_flags=0;return sigaction(sign,&act,&oact);
}int main(int arg,char *args[])
{//注册信号
    mysignal(SIGINT,catch_sig);mysignal(SIGALRM,catch_sig);while(1){if(flag==1)printf("hello\n");sleep(1);}return 0;
}
//发送信号
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>#include <unistd.h>
#include <sys/types.h>
#include <signal.h>int main(int arg,char * args[])
{if(arg<2){printf("请输入一个参数!\n");return -1;}int resid=0;pid_t pid=atoi(args[1]);resid=kill(pid,SIGALRM);if(resid!=0){printf("error message:%s\n",strerror(errno));return -1;}return 0;
}
.SUFFIXES:.c .o
CC=gcc
SRCS=mycontrl.c
OBJS=$(SRCS:.c=.o)
EXEC=contrlstart:$(OBJS)$(CC) -o $(EXEC) $(OBJS)@echo "^_^-----OK------^_^"
.c.o:$(CC) -Wall -g -o $@ -c $<
clean:rm -f $(OBJS)rm -f $(EXEC)

 

转载于:https://www.cnblogs.com/zhanggaofeng/p/5851289.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python读取每一行文字二十四_python接口自动化(二十四)--unittest断言——中(详解)...

简介上一篇通过简单的案例给小伙伴们介绍了一下unittest断言&#xff0c;这篇我们将通过结合和围绕实际的工作来进行unittest的断言。这里以获取城市天气预报的接口为例&#xff0c;设计了 2 个用例&#xff0c;一个是查询北京的天气&#xff0c;一个是查询南京为例&#xff0c…

spring MVC配置form支持PUT和DELETE方法

REST的关键原则之一就是“使用标准接口”&#xff08;the use of the Uniform Interface&#xff09;&#xff0c;也就是提倡根据不同的语义使用GET, PUT, POST和DELETE方法&#xff0c;而html的form标签只支持两种提交方法&#xff1a;POST和GET&#xff0c;所以&#xff0c;为…

如何学习编译原理?

编译原理很难学&#xff0c;但如果自己动手编&#xff0c;会简单一点&#xff0c;而且不要想一口吃成胖子&#xff0c;从词法分析开始写&#xff0c;一步步来&#xff0c;下个龙书电子版看看。慢慢来&#xff0c;一点一点地去消化它&#xff0c;让它成为你的知识。 转载于:http…

Spring MVC访问不到静态资源

运行Spring MVC项目&#xff0c;发现.css&#xff0c;js等文件加载不了&#xff0c;一般是spring MVC的拦截匹配导致的。 例如我在web.xml里这样配置&#xff1a; <servlet><servlet-name>spring</servlet-name><servlet-class>org.springframework.w…

206. Reverse Linked List

Reverse a singly linked list. Solution 1: 思路&#xff1a;null的使用。用一个null node来承接&#xff0c;一个一个接上去即可。一刷的时候还觉得这node转化好麻烦好神奇&#xff0c;熟悉之后其实做起来很快。 /*** Definition for singly-linked list.* public class List…

labview项目实例_labview操作者框架

0.引言操作者框架适合于多并行任务的项目。在这样的项目中&#xff0c;多个并行任务之间往往需要相互通信&#xff0c;传统的解决办法是&#xff0c;每个任务一个队列&#xff0c;一个while循环&#xff0c;多任务项目需要在一个程序框图使用多个while&#xff0c;不好看。NI说…

eclipse发布web不带项目名的url

默认发布后访问地址是&#xff1a; http://localhost:8080/huanle/ 要达到的效果是&#xff1a; http://localhost:8080/ 不带项目名的url的好处是&#xff0c;不用再在每个地址前加<% path%>了&#xff1a; &#xff08;很烦有木有&#xff09; 操作方法&#x…

php 随机在文章中添加锚文本_页面SEO优化的锚文本优化概念

SEO优化分为结构优化和页面优化&#xff0c;页面的SEO优化中其中一个重点是锚文本的建设。锚文本的概念就是网站的内部链接&#xff0c;较为常见的就是将文章中的关键词作为锚文本。但在具体建设当中&#xff0c;很多网站对锚文本的处理出现了很多错误。这是因为对锚文本的优化…

求一个整数数组的最大元素,递归方法实现

Java版本&#xff1a; public class Main {public static void main(String[] args) {int[] array {1, 3, 5, 6, 3, 5, 3, 8};System.out.println(findMaxValue(array));}private static int findMaxValue(int[] array) {if(array.length < 0 || array null) {return -1;}…

eclipse发布web显示异常,清除缓存也无效?

发布的项目突然之间显示就不正常了&#xff0c;清除了n遍缓存&#xff0c;tomcat目录&#xff0c;一点效果都没有&#xff0c;这时候&#xff0c;应该用Dreamweaver检查下页面代码&#xff0c;很可能是你不小心删了点什么。 下面是一个血的教训&#xff0c;浪费了一上午时间&a…

python画图模块_学习python画图模块plotnine:第一步安装

官网链接https://plotnine.readthedocs.io/en/stable/index.html知乎介绍的文章https://zhuanlan.zhihu.com/p/47814353简单介绍语法类似于R语言的ggplot2包的python画图模块安装按照官网教程直接使用pip安装pip install plotnine遇到报错ERROR: Cannot uninstall certifi. It …

解决Oracle 11gR2 空闲连接过多,导致连接数满的问题

今天又遇到了11gR2连接数满的问题&#xff0c;以前也遇到过&#xff0c;因为应用那边没有深入检查&#xff0c;没有找到具体原因&#xff0c;暂且认为是这个版本Oracle的BUG吧。 上次的处理办法是用Shell脚本定时在系统中kill v$session.statusINACTIVE的连接&#xff0c;但是…

Java自定义标签

简单例子 实现一个标签分为两步&#xff1a;&#xff08;1&#xff09;继承SimpleTagSupport或TagSupport实现一个控制器&#xff08;2&#xff09;创建一个描述标签的tld文件。下面是一个简单例子&#xff1a; &#xff08;1&#xff09;实现一个标签控制器&#xff0c;向页…

python调用adb shell命令_Python之使用adb shell命令启动应用的方法详解

Python之使用adb shell命令启动应用的方法详解一直有一个心愿希望可以用Python做安卓自动化功能测试&#xff0c;在一步步摸索中&#xff0c;之前是用monkeyrunner&#xff0c;但是发现对于控件ID的使用非常具有局限性&#xff0c;尤其是ID的内容不便于区分具有重复性时&#x…

关于NPN和PNP传感器的应用区别(转载)

http://blog.csdn.net/greatwgb/article/details/9120735 PNP与NPN型传感器其实就是利用三极管的饱和和截止&#xff0c;输出两种状态&#xff0c;属于开关型传感器。但输出信号是截然相反的&#xff0c;即高电平和低电平。PNP输出是高电平1&#xff0c;NPN输出的是低电平0。 …

spring security:第一个程序

spring security虽然已经简化了&#xff0c;但配置还是要小心翼翼的。这里运行起第一个spring security程序。 环境&#xff1a; spring 4.2.4spring security 4.0.4 &#xff08;GA&#xff09; 搭建步骤&#xff1a; pom.xml 加入web和config模块&#xff0c;config模块是…

文献引用的标准格式_外语论文文献引用格式—APA Style

APA Style写外语论文时&#xff0c;非常注意引用格式的使用。APA作为常见的论文引用格式之一&#xff0c;常被用于心理学、教育学和社会学科领域。可是你知道APA格式要如何使用&#xff1f;APA格式有哪些要求&#xff1f;下面小编为大家整理一下~什么是APA格式&#xff1f;APA格…

每日一九度之 题目1030:毕业bg

时间限制&#xff1a;1 秒 内存限制&#xff1a;32 兆 特殊判题&#xff1a;否 提交&#xff1a;2046 解决&#xff1a;894 题目描述&#xff1a;每年毕业的季节都会有大量毕业生发起狂欢&#xff0c;好朋友们相约吃散伙饭&#xff0c;网络上称为“bg”。参加不同团体的bg会有不…

spring security:第一个程序解析

上一篇在一个项目里配置了spring security&#xff0c;这里大致说一些这些配置的作用。 pom.xml 文件解析 <!-- spring security --><!-- spring 安全--><dependency><groupId>org.springframework.security</groupId><artifactId>spring…

python发钉钉消息_Python调用钉钉机器人推送消息

1.创建钉钉机器人群机器人是钉钉群的高级扩展功能&#xff0c;群机器人可以将第三方服务的信息聚合到群聊中&#xff0c;实现自动化的信息同步&#xff1b;进入一个钉钉群&#xff0c;点击右上角的“群设置”进入群设置页面&#xff1b;选择群机器人点击进入&#xff0c;在机器…