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...

Linux Shell脚本pause命令

Linux Shell中没有Windows批处理中的pause命令,所以需要自己创建一个pause脚本,放在环境变量中,并设置可读、可执行权限。 1. 打开文本编辑器,在 /home/che...
  • ts1011
  • ts1011
  • 2013年06月18日 11:30
  • 4743

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

sleep()是执行挂起一段时间,而alarm()函数是定时器,pause()函数则是挂起进程,当出现信号打断时,才会继续往前执行;         先来分享下alarm()函数,alarm()函数用...

关于alarm设置与Signal

通过alarm设置时钟,当达到设置的时候后收到alarm信号,然后通过longjmp和setjmp进行跳转, 每次收到信号时都进行alarm(0)恢复,但是一共收到6次alarm信号左右就收不到了 ...

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

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

Linux signal、alarm和pause函数

signal、alarm和pause函数 头文件和函数原型 #include typedef void (*sighandler_t)(int); sighandler_t sign...
  • CSLQM
  • CSLQM
  • 2016年11月19日 16:12
  • 294

POSIX定时器--timer_create等系列

直接上程序 程序1:采用新线程派驻的通知方式 [cpp] view plaincopy #include   #include   #include   #include   #incl...
  • yi412
  • yi412
  • 2015年07月03日 13:45
  • 1421

error: stray ‘\357’ in program

第一种办法: error: stray ‘\357’ in program error: stray ‘\274’ in program error: stray ‘\233...

[Linux C编程]信号发送捕捉kill() raise() alarm() pause()

信号概述 ● 信号是在软件层次上对中断机制的一种模拟。在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。 ● 信号是异步的,一个进程不必通过任何操作来等待信号的到达...

linux C由signal和alarm实现的键盘监控和程序计时

1.alarm() 函数原型:unsigned int alarm(unsigned int seconds); 头文件:#include 函数说明: alarm()用来设置信号SIGALRM在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux c 中alarm,signal,pause的使用说明
举报原因:
原因补充:

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