Linux Linux程序练习七
2024-08-25 06:23:52
题目:实现两个程序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=; void catch_sig(int sign)
{
switch(sign)
{
case SIGINT:
flag=flag==?:;
break;
case SIGALRM:
exit();
}
} int mysignal(int sign,void (*func)(int))
{
struct sigaction act,oact;
act.sa_handler=func;
sigemptyset(&act.sa_mask);
act.sa_flags=;
return sigaction(sign,&act,&oact);
} int main(int arg,char *args[])
{
//注册信号
mysignal(SIGINT,catch_sig);
mysignal(SIGALRM,catch_sig);
while()
{
if(flag==)
printf("hello\n");
sleep();
}
return ;
}
//发送信号
#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<)
{
printf("请输入一个参数!\n");
return -;
}
int resid=;
pid_t pid=atoi(args[]);
resid=kill(pid,SIGALRM);
if(resid!=)
{
printf("error message:%s\n",strerror(errno));
return -;
}
return ;
}
.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)
最新文章
- linux基本知识
- kmeans算法实践
- 【Java EE 学习 23】【log4j的使用】【ant的使用】【内省】
- bootstrap的下载
- Druid数据库连接池配置
- 利用target的特性,可以实现纯css的tab效果切换
- SQL Server(一)——数据库基础知识
- zlog学习笔记(mdc)
- cf555b
- oracle使用dbms_metadata包取得所有对象DDL语句
- Python科学计算发行版—Anaconda
- Hive2 jdbc test
- POJ 3484
- ajax参数中出现空格
- [置顶] 实习总结3-job hunting(西安工作)
- 2006 ACM Northwestern European Programming Contest C题(二分求最大)
- .net SMTP发送Email 更新(可带附件)
- 2014年TI杯大学生电子设计竞赛地区赛使用仪器及器件、设备
- c#后台输出javascript语句和一些通用验证的类
- Footer固定在页面底部(CSS)
热门文章
- 快速与MySQL交互,使用XMAPP打开MySQL数据库,并用shell进行与MySQL交互<;Window 10>;
- C++ 中引用与指针的区别
- JavaScript Patterns 4.4 Self-Defining Functions
- 算法(二)之遗传算法(SGA)
- 读书笔记——Windows核心编程(8)Interlocked单向链式栈
- windows 下my.ini的配置优化
- JAVA基础知识点:内存、比较和Final
- 获取某地的经纬度 &;&; 通过经纬度获取相应的地理位置
- redis 非集群的主从配置及切换
- Asp.net web form 动态生成控件的注意事项