Linux c 中alarm,signal,pause的使用说明

原创 2012年03月30日 16:40:23

直接看代码

#include <unistd.h>
#include <stdio.h>
#include <signal.h>
void myfunc()
{
	printf("myfunc\n");
	exit(0);         //如果没有此句,程序在主函数中继续运行,输出never run
}
int main()
{
	unsigned int i;
	int time;
	alarm(9);
	sleep(2);
	time = alarm(0);		    //闹钟取消,返回剩余时间,每次只能有一个闹钟生效
	printf("dd%d\n",time);

	alarm(2);
	signal(SIGALRM, myfunc);    //catching signal,获得闹钟返回的信号SIGALRM,运行对应程序。
	pause();					//挂起进程,当获得信号后,调用signal函数,如果没有信号调用默认的catching函数一般就会退出进程
	printf("never run");	
	return 0;
}

 

 

输出结果为:

more time:7
myfunc
never run

关于Linux 下kill 与 pause的一些小思考

这次操作系统上机课,在写两个子进程间依照先后次序输出两条命令的程序时,发现了一些小问题,在此记下以备忘。 #include #include #include #include #i...
  • ssdut_209
  • ssdut_209
  • 2016年04月02日 09:55
  • 883

Linux环境编程之信号处理(三、利用alarm()和pause()函数实现sleep()函数)

sleep()是执行挂起一段时间,而alarm()函数是定时器,pause()函数则是挂起进程,当出现信号打断时,才会继续往前执行;         先来分享下alarm()函数,alarm()函数用...
  • YuZhiHui_No1
  • YuZhiHui_No1
  • 2015年04月03日 14:51
  • 1934

linux进程通信---几个发送信号的函数(kill,raise,alarm,pause)

信号:信号是unix中最古老的进程通信的一种方式,他是软件层次上对中断机制的模拟,是一种异步通信方式,信号可以实现用户空间进程和内核空间进程的交互,内核进程可以利用他通知用户空间进程发生了哪些系统事件...
  • zzyoucan
  • zzyoucan
  • 2013年07月03日 20:42
  • 15624

linux中的信号3——alarm、pause函数

以下内容源于朱有鹏《物联网大讲堂》课程的学习,如有侵权,请告知删除。 1、alarm函数 (1)内核以API形式提供的闹钟; (2)编程实践; 2、pause函数 (1)内核挂起 pause...
  • oqqHuTu12345678
  • oqqHuTu12345678
  • 2017年07月15日 21:50
  • 181

linux中的信号处理(signal和alarm)

信号是unix中所使用的进程通信的一种最古老的方法.系统使用它来同志一个或多个进程异步事件的发生.linux系统库bits/signum.h对信号名作了定义:linux的大多数信号是提供给内核的,仅有...
  • sambian
  • sambian
  • 2006年04月30日 16:04
  • 33335

linux下signal与alarm函数实现定时器刷新

上篇博文:linux下setitimer定时器与定时器取消 存在一个问题: 使用 timer_settime() / timer_gettime() 是属于POSIX标准下的定时器函数,可以替代l...
  • sinat_36184075
  • sinat_36184075
  • 2017年05月26日 23:23
  • 352

linux中的信号处理(signal和alarm)

信号是unix中所使用的进程通信的一种最古老的方法.系统使用它来同志一个或多个进程异步事件的发生. linux系统库bits/signum.h对信号名作了定义: linux的大多数信号是提供给内核的...
  • jianguo_liao19840726
  • jianguo_liao19840726
  • 2013年11月07日 11:58
  • 986

关于alarm设置与Signal

通过alarm设置时钟,当达到设置的时候后收到alarm信号,然后通过longjmp和setjmp进行跳转, 每次收到信号时都进行alarm(0)恢复,但是一共收到6次alarm信号左右就收不到了 ...
  • Bocai_Fire
  • Bocai_Fire
  • 2011年11月09日 10:04
  • 712

linux中的信号处理(signal与alarm)

 简单处理程序: #include#include#include#includevoid handle(){ printf("I am steven/n"); alarm(1);}int...
  • tyyhong
  • tyyhong
  • 2009年06月23日 11:45
  • 2465

Linux Shell脚本pause命令

Linux Shell中没有Windows批处理中的pause命令,所以需要自己创建一个pause脚本,放在环境变量中,并设置可读、可执行权限。 1. 打开文本编辑器,在 /home/che...
  • ts1011
  • ts1011
  • 2013年06月18日 11:30
  • 5155
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux c 中alarm,signal,pause的使用说明
举报原因:
原因补充:

(最多只允许输入30个字)