看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《cooper6334 (小恐龍)》之銘言: : 遇到的問題: (題意請描述清楚) : 我要在linux下寫一個程式,能夠動態讀取設定檔 : 就是當另外一個檔案的內容被改變時,就會執行程式中的某個函式 : 我聽說是要利用signal來做,但是我試出來的結果 : 好像signal的一些訊號好像都只針對程式本身發出 : 當我kill程式本體的時候可以抓到SIGTERM,但是kill vi就抓不到 : 請問我要用那一種訊號或是用什麼方法來處理呢? 在 linux 下可以用 inotify 假如想跨平台,且設定檔不大的話,可以每幾秒把內容讀進來一次,再算一下MD5 看有沒有被改過. 可以把這件事放在另一個 thread 或 process 來做,並將priority設低, 就不會影響效能. 每種方法都有優缺點,要看需求而定. -- Do not depend on others without effort... 當我年輕時,請教別人問題時常聽到上面那句話. 當時心裏偶而會有些小小抱怨. 當時間過去,我偶而會想到上面那句話, 心中十分感謝當初告訴我那句話的人. 當發現問題時,最有價值的不是問題的答案, 而是找到解決的方向,並在努力的過程裡具備解決問題的能力. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.232.239
tinlans:其實很多檔案系統都有 modify time 欄位可以讀取, 04/26 20:50
tinlans:它用 stat 這個 syscall 可以取到,而且未必真的有 I/O 發 04/26 20:51
tinlans:生,因為這些東西常常 cache 在 memory 裡。 04/26 20:51