Linux定时器——setitimer()
setitimer()是比较精准的定时器,是Linux的API
以下代码是个倒计时例子:
#include <signal.h>
#include <sys/time.h>
static int time_count=30;
static void sigalrm_handler(int sig)
{
time_count--;
printf("timer signal.. %d\n", time_count);
}
struct itimerval v; //定时器结构体
time_count=10; //再次初始化
signal(SIGALRM, sigalrm_handler);//绑定信号函数
v.it_value.tv_sec=1;
v.it_value.tv_usec=0;
v.it_interval.tv_sec=1;//间隔1s
v.it_interval.tv_usec=0;
setitimer(ITIMER_REAL,&v,NULL); //结构体关联,start
...
...
//=========结束此定时器=====================
v.it_value.tv_sec=0;
v.it_value.tv_usec=0;
v.it_interval.tv_sec=0;
v.it_interval.tv_usec=0;
setitimer(ITIMER_REAL,&v,NULL);
原理既是 1s发送SIGALRM信号一次,将其值置零即为关闭,不在发送信号
相关文档:
总览
用iptables -ADC 来指定链的规
则
,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......
tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的 ......
我用的Java版本为1.4,用1.5的时候说是有不安全的操作,无法编译、运行。
下载最新版本,BRITE.tar.gz
$ gunzip BRITE.tar.gz
$ tar xvf BRITE.tar
$ cd BRITE/
$ make all
编译完成,运行BRITE
$ ./brite &
主要的问题 ......
当linux中的C api函数发生异常时,一般会将errno变量(需include
errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因,在实际编程中用这一招解决了不少原本看来莫名其妙的问题。但是
errno是一个数字,代表的具体含义还要到errno.h中去阅读宏定义,而每次查阅是一件很繁琐的事情。有下面几种方法 ......
其实Linux下SVN还是比较简单, 在网上, 一搜就是一大把的资料。 但很少有人一次安装成功, 因为Linux中的环境太复杂,
很容易环境冲突。
linux svn一般依赖于httpd(Apache Web服务器).
svn独立方式
当然svn还有独立方式, 即不需要apache服务器, 即跳过下面的apache安装, 及配置中关于httpd.conf部分。
在编译s ......