主题:求助:EM9280 ntpdate命令无效 共有41008人关注过本帖 |
---|
jumpower |
1楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
求助:EM9280 ntpdate命令无效 Post By:2014-12-29 22:09:00 [只看该作者]
在EM9280工控板子在链接了GPRS的情况下,手动运行命令ntpdate pool.ntp.org是可以正常同步网络时间的,可是想把这个命令在某程序中调用运行,使用system("ntpdate pool.ntp.org");为什么却同步失败了呢?
[此贴子已经被作者于2014-12-30 15:03:53编辑过]
|
单帖管理 | 引用 | 回复 |
hzc |
2楼 信息 | 搜索 | 邮箱 |
加好友 发短信 员工 |
Post By:2014-12-30 9:21:00 [只看该作者]
你好,可以直接在命令行输入命令ntpdate cn.pool.ntp.org来测试功能是否正常。
我这边用板子测试了,应该是可以正确校时的,也可以参考一下:http://www.emlinix.com/news/news2011325.html
|
单帖管理 | 引用 | 回复 |
jumpower |
3楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2014-12-30 14:57:00 [只看该作者]
我在连接了gprs网络的情况下 通过命令
ntpdate pool.ntp.org 直接测试是有用的 但是我在程序中通过fork(); 之后在子进程中运行如下命令
pid_t pid = fork();
if(pid <0)
perror("pid");
if(pid == 0)
{
execl("/bin/ntpdate", "ntpdate", "pool.ntp.org", NULL);
perror("execvp");
} 在运行时出现的却是:
20 Mar 00:23:58 ntpdate[123]: poll(): nfound = 0, error: No such file or directory 法二: 在程序中直接调用命令 system("ntpdate
pool.ntp.org");
也同样不能够正常同步时间 请问程序自运行命令和自己用命令来执行效果就是不一样呢? |
单帖管理 | 引用 | 回复 |
zhl |
4楼 |
Post By:2014-12-30 16:16:00 [只看该作者]
exec()函数族是可以正常启动的,因为涉及到路径,建议你调用函数execlp(),p表示PATH中搜索执行的文件,如PATH没有设置, 则会默认在/bin,/usr/bin下搜索。 |
|
单帖管理 | 引用 | 回复 |