Re: [問題] 即時偵測檔案變動
看板C_and_CPP (C/C++)作者ireullin (raison detre)時間14年前 (2012/05/08 16:37)推噓0(0推 0噓 4→)留言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
05/08 17:35, 1F
→
05/08 21:30, , 2F
05/08 21:30, 2F
→
05/09 09:34, , 3F
05/09 09:34, 3F
→
05/09 15:28, , 4F
05/09 15:28, 4F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章