1. linux下C语言定时器(求高人指点)
可以用alarm信号做:
alarm(设置信号传送闹钟)
相关函数 signal,sleep
表头文件 #include<unistd.h>
定义函数 unsigned int alarm(unsigned int seconds);
函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。
返回值返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。
#include<unistd.h>
#include<signal.h>
void handler() {
//这里读跳变次数
}
main()
{
int i;
signal(SIGALRM,handler);//这里设置时钟信号的响应函数
alarm(1); //这里设置每一秒钟发送一个时钟信号
}
2. 如何在linux上定时执行程序
你可以通过编写一个
shell
脚本程序(在编程过程中会用到
linux
系统的
at
命令),就可以实现在指定的时间执行指定的任务。
3. 求linux下用c语言编写的定时器程序
//一个示例程序。
#include<stdlib.h>
#include<unistd.h>
#include<signal.h>
#include<time.h>
#include<sys/time.h>
#defineN100//设置最大的定时器个数
inti=0,t=1;//i代表定时器的个数;t表示时间,逐秒递增
structTimer//Timer结构体,用来保存一个定时器的信息
{
inttotal_time;//每隔total_time秒
intleft_time;//还剩left_time秒
intfunc;//该定时器超时,要执行的代码的标志
}myTimer[N];//定义Timer类型的数组,用来保存所有的定时器
voidsetTimer(intt,intf)//新建一个计时器
{
structTimera;
a.total_time=t;
a.left_time=t;
a.func=f;
myTimer[i++]=a;
}
voidtimeout()//判断定时器是否超时,以及超时时所要执行的动作
{
printf("Time:%d ",t++);
intj;
for(j=0;j<i;j++)
{
if(myTimer[j].left_time!=0)
myTimer[j].left_time--;
else
{
switch(myTimer[j].func)
{//通过匹配myTimer[j].func,判断下一步选择哪种操作
case1:
printf("------Timer1:--HelloAillo! ");break;
case2:
printf("------Timer2:--HelloJackie! ");break;
case3:
printf("------Timer3:--HelloPiPi! ");break;
}
myTimer[j].left_time=myTimer[j].total_time;//循环计时
}
}
}
intmain()//测试函数,定义三个定时器
{
setTimer(3,1);
setTimer(4,2);
setTimer(5,3);
signal(SIGALRM,timeout);//接到SIGALRM信号,则执行timeout函数
while(1)
{
sleep(1);//每隔一秒发送一个SIGALRM
kill(getpid(),SIGALRM);
}
exit(0);
}
4. linux 脚本编程 定时关闭和打开程序
1、利用crontab 制定定时任务
2、编写定时关闭和打开程序的脚本或命令
3、crontab的用法
第1列分钟1~59
第2列小时1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要运行的命令
下面是crontab的格式:
分 时 日 月 星期 要运行的命令或脚本
30 21 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示每晚的21:30重启apache
5. linux下怎么定时执行脚本
配置定时任务或者说计划任务,设定在你需要的时间执行脚本
写好脚本,再通过crontab -e设置定时任务,然后通过crontab -l查看定时任务。
6. 如何编写Linux定时处理程序
你必须要使用 Linux 系统提供的定时执行某一个程序的命令( at 命令)、以及熟练的 SHELL 编程,来实现 Linux 的定时处理程序。关于 at 命令的详细使用,你必须要使用 man at 查看。
7. Linux怎么设置定时程序每天早8至20点每10秒执行一次
了解一下linux的定时任务crod,写个sh脚本,用定时任务去管理。
8. 在linux C编程中,定时器函数选择与设置问题
试试alarm()与signal(),例子可以网上搜搜
NAME
alarm - set an alarm clock for delivery of a signal
SYNOPSIS
#include <unistd.h>
unsigned int alarm(unsigned int seconds);
DESCRIPTION
alarm() arranges for a SIGALRM signal to be delivered to the calling process in seconds seconds.
If seconds is zero, no new alarm() is scheled.
In any event any previously set alarm() is canceled.