Re: [問題] 即時偵測檔案變動

看板C_and_CPP (C/C++)作者 (raison detre)時間14年前 (2012/05/08 16:37), 編輯推噓0(004)
留言4則, 4人參與, 最新討論串2/2 (看更多)
謝謝大家熱心的建議 可是小弟主要是在aix上面開發 而且有些維護的客戶作業系統比較老舊或是不願意讓你裝一些套件 所以並不是保證一定有inotify可以使用 是否還有其他方法 另外select究竟是否可以用在file description呢 ※ 引述《ireullin (raison detre)》之銘言: : 請問一下各位 : 要如何及時得知檔案有被更動呢 : 我使用的是select的方式 : 但是執行結果卻是一直回傳true : 如果採用檢查檔案大小或是md5的方式 : 卻又必須一值loop他,吃掉了太多的系統資源 : 如果加了sleep,又不是真正的"即時" : 請問大家都怎麼做呢 : bool FileIO::IsModified(double waitsecond) : { : FD_ZERO(&m_set); : FD_SET(m_fd, &m_set); : double _sec = floor(waitsecond); : struct timeval timeout; : timeout.tv_sec = (long)_sec; : timeout.tv_usec = (long)(waitsecond-_sec)*1000*1000; : int _rc = ::select(FD_SETSIZE, &m_set, NULL, NULL, &timeout); : if(_rc<0) : return false; : //throw "select failed"; : if(_rc==0) : return false; : if(FD_ISSET( m_fd, &m_set)<=0 ) : return false; : return true; : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.71.34

05/08 17:35, , 1F
不知道有沒有幫助.. http://ppt.cc/yb4,
05/08 17:35, 1F

05/08 21:30, , 2F
try算是及時嗎@@?
05/08 21:30, 2F

05/09 09:34, , 3F
請問try的做法是?
05/09 09:34, 3F

05/09 15:28, , 4F
沒有 stat 可以用嗎?
05/09 15:28, 4F
文章代碼(AID): #1FgDiwkf (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1FgDiwkf (C_and_CPP)