当前位置:首页 > CN2资讯 > 正文内容

Linux Linux程序练习七

2天前CN2资讯
题目:实现两个程序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=contrl start:$(OBJS) $(CC) -o $(EXEC) $(OBJS) @echo "^_^-----OK------^_^" .c.o: $(CC) -Wall -g -o $@ -c $< clean: rm -f $(OBJS) rm -f $(EXEC)
    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25374.html

    分享给朋友:

    “Linux Linux程序练习七” 的相关文章

    了解尼日利亚IP地址及其获取方法

    尼日利亚IP地址概述 尼日利亚的IP地址数量颇具规模,达到3,196,160个,这在全球范围内占有0.0938%的比重,位居第61位。这意味着,尽管尼日利亚在全球互联网上不是最大的参与者,但它的IP资源依然相对丰富,给予了很多用户连接世界的机会。听起来兴奋吧?这些IP地址为本地互联网用户和企业提供了...

    如何安全地开放所有端口并规避网络风险

    我第一次接触网络配置的时候,看到“开放所有端口”这个词,心里有些忐忑。其实,开放端口是网络通信中非常基础的概念。简单来说,端口就像是网络中的开口,允许不同的应用程序和服务进行数据交换。每个端口都有其独特的号码,从1到65535不等,其中小于1024的端口通常用于系统服务,而大于1024的端口就属于应...

    买域名的全流程攻略:从选择到安全管理

    购买域名是一项非常重要的投资,尤其对于那些希望在网上建立品牌或个人网站的人来说。域名不仅仅是一个网址,它是你在线身份的象征。因此,了解如何选择和购买域名显得极为关键。 选择域名时,需要考虑多个因素。首先,域名应该简洁易记,便于用户输入和分享。其次,关键字的相关性也非常重要,因为一个包含行业相关关键词...

    搬瓦工VPS:初学者的最佳选择与使用指南

    大家对VPS可能不太熟悉,搬瓦工VPS在整个市场中已经站稳了脚跟。作为加拿大IT7公司旗下的一款主机服务,搬瓦工以其性价比高的OpenVZ VPS起步,而现在主要以KVM架构为主流,逐渐发展成为国内用户的热门选择。这种转型让我觉得很有意思,因为它不仅仅是一种产品的升级,更是一种服务的提升。 搬瓦工提...

    如何取消UWP联网限制以获得更好应用体验

    了解UWP联网限制的背景和影响,是每个开发者和用户都应该重视的事情。首先,UWP,即通用Windows平台,允许开发者构建可以在不同Windows设备上运行的应用程序。这种跨平台的特性为我们提供了极大的便利,让我可以在不同的设备上使用同一款应用,无论是在手机、平板还是PC上。 不过,UWP的设计初衷...

    163骨干网概述与应用解析:构建未来高效、安全的网络

    1. 163骨干网概述 1.1 163骨干网的定义与特点 163骨干网是中国电信在互联网骨干网络中的重要组成部分,它承载了大量的数据传输,连接着全国各地的用户和服务。简单来说,可以把它视为一个快速而稳定的信息高速公路,确保信息在不同地点之间的高效流动。作为一个骨干网络,它具有高带宽、低延时和高可靠性...