LINUX系统编程之日历时间
LINUX中时间有两种:
1)日历时间
2)进程时间
日历时间顾名思义即用来获取日历;
主要涉及到的函数有:
time(time_t*);
stime(time_t*);
tm* gmtime(time_t*);
tm* localtime(time_t*);
char *strftime(tm*);
char *asctime(tm*);
time_t* mktime(tm*);
数据结构如下:
time_t
struct tm{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_wday;
int tm_yday;
int tm_year;
int tm_isdst;
}
转换关系如下图:
示例代码如下:
struct utsname aname;
int a=uname(&aname);
cout << a;
cout << endl;
cout << aname.sysname<< endl;
cout << aname.machine<< endl;
cout << aname.release<< endl;
cout << aname.version<<endl;
cout << aname.nodename<< endl;
time_t time1;
time_t time2;
time2=time(&time1);
cout << time1 << endl;
cout << time2 << endl;
struct tm *tm1;
tm1=localtime(&time1);
cout << tm1->tm_sec<<endl;
cout << tm1->tm_min<<endl;
cout << tm1->tm_hour<<endl;
cout << tm1->tm_mday<<endl;
cout << tm1->tm_mon<<endl;
cout << tm1->tm_year<<endl;
cout << tm1->tm_wday<<endl;
cout << tm1->tm_yday<<endl;
char *css;
css=asctime(tm1);
cout << css;
size_t size=strftime(css,100,"%Y-%m-%d %H-%M-%S %w",tm1);
cout << size << ":"<<css;
相关文档:
当Linux内核在体系结构差异较大的平台之间移植时,会产生与数据类型相关的问题。
.在编译内核时使用 -Wall -W strict-prototypes 选项, 可以避免很多错误的发生
.内核使用的基本数据类型主要有:
int 标准C语言整数类型
&n ......
在编译移植Linux内核过程中,内核选项配置是很常见的操作。本文分析了常见选项的具体含义,从这里开始进入内核完全配置选项:
1 code maturity level options(代码成熟度选项)
1.1 Prompt for development and/or incomplete code/drivers
显示尚在开发中或尚未完成的代码与驱动。默认情况下是选择 ......
一、dnotify机制
1、使用
通过对文件描述符设置监听信号实现。
//设置文件相应信号
fcntl(fd, F_SETSIG, SIGRTMIN + 1);
//设置该文件要监听事件
fcntl(fd, F_NOTIFY, DN_ACCESS|DN_MODIFY|DN_CREATE|DN_RENAME|DN_DELETE|DN_ATTRIB|DN_MUL ......
Ctrl+z,终止这个程序,然后可以看到系统提示:
[1]+ Stopped /root/bin/rsync.sh
然后我们可以把程序调度到后台执行:
#bg 1
[1]+ Running /root/bin/rsync.sh &
如果想把它调回前台运行,可以用
#fg 1
/root/bin/rsync.sh
这样,你的控制台上就只能等待这个任务完成了。
&将进程丢到后台中去执行。
用jo ......