主題:求助:EM9280 ntpdate命令無效 共有45600人關注過本帖 |
---|
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下搜索。 |
|
單帖管理 | 引用 | 回復 |