青岛新航道怎么样:Linux系统时间设置(附ARM)

来源:百度文库 编辑:偶看新闻 时间:2024/05/05 19:14:13
Linux系统时间设置

linux的system () 函数详解

system(执行shell 命令)
相关函数
        fork,execve,waitpid,popen
表头文件
        #i nclude
定义函数
        int system(const char * string);
函数说明
        system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。
返回值
=-1:出现错误
=0:调用成功但是没有出现子进程
>0:成功退出的子进程的id
















1、date
查看系统时间
# date
设置系统时间
# date --set “07/07/06 10:19" (月/日/年时:分:秒)

2、hwclock/clock
查看硬件时间
# hwclock --show
或者# clock --show
设置硬件时间
# hwclock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)
或者# clock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。
硬件时钟与系统时钟同步:# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)或者# clock --hctosys
系统时钟和硬件时钟同步:# hwclock --systohc或者# clock --systohc

4、时区的设置
# tzselect
Please identify a location so that time zone rules can be set correctly.Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia 8) Europe 9) Indian Ocean10) Pacific Ocean11) none - I want to specify the time zone using the Posix TZ format.#? 输入5,亚洲
Please select a country. 1) Afghanistan             18) Israel                 35) Palestine 2) Armenia                  19) Japan                 36) Philippines 3) Azerbaijan               20) Jordan                37) Qatar 4) Bahrain                   21) Kazakhstan         38) Russia 5) Bangladesh             22) Korea (North)       39) Saudi Arabia 6) Bhutan                   23) Korea (South)      40) Singapore 7) Brunei                    24) Kuwait                 41) Sri Lanka 8) Cambodia              25) Kyrgyzstan           42) Syria 9) China                     26) Laos                   43) Taiwan10) Cyprus                   27) Lebanon             44) Tajikistan11) East Timor              28) Macau                45) Thailand12) Georgia                  29) Malaysia             46) Turkmenistan13) Hong Kong               30) Mongolia             47) United Arab Emirates14) India                       31) Myanmar (Burma) 48) Uzbekistan15) Indonesia                32) Nepal                  49)   Vietnam16) Iran                        33) Oman                  50) Yemen17) Iraq                        34) Pakistan#? 输入9,中国
Please select one of the following time zone regions.1) east China - Beijing, Guangdong, Shanghai, etc.2) Heilongjiang3) central China - Gansu, Guizhou, Sichuan, Yunnan, etc.4) Tibet & most of Xinjiang Uyghur5) southwest Xinjiang Uyghur#? 输入1,北京时间
The following information has been given:
        China        east China - Beijing, Guangdong, Shanghai, etc.
Therefore TZ="Asia/Shanghai" will be used.Local time is now:      Fri Jul 7 10:32:18 CST 2006.Universal Time is now: Fri Jul 7 02:32:18 UTC 2006.Is the above information OK?1) Yes2) No#? 输入1,确认

如果不用tzselect命令,可以修改文件变更时区。
# vi /etc/sysconfig/clock ZONE=Asia/Shanghai(查/usr/share/zoneinfo下面的文件) UTC=false ARC=false
# rm /etc/localtime
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

重新启动即可


问:arm开发板上Linux下如何保存设置的系统时间?

答:分以下步骤进行:

(1)通过开发板控制台设置开发板的当前系统时间:

date [MMDDhhmm[[CC]YY][.ss]]

例如:

date 010410462008

(2)将系统时间写入RTC:

hwclock -w

读出检验一下,写入是否正确: 

hwclock -r

(3)修改开发板根文件系统中的/etc/init.d/rcS文件,

添加一行:

hwclock -s 或都/sbin/hwclock -s

用于在系统启动时从RTC读出日期时间并设置到系统时间。

(4)重新启动开发板,验证系统时间是否争取。