在我正在使用的設備上,我可以寫信給/sys/class/leds
來打開/關閉指示燈。我可以保持文件在我的代碼中打開,並且只在流程退出時關閉,或者我需要在寫入文件時纔打開文件?我應該讓sysfs文件在更長一段時間內保持打開嗎?
1
A
回答
1
是的。這樣做似乎沒有壞處。
我試着在第一殼
#tailf /sys/class/leds/mmc0\:\:/brightness
而且在第二外殼下面,嘗試了同樣的事情。
#tailf /sys/class/leds/mmc0\:\:/brightness
本實驗只是爲了顯示的是,在從另一處理(第二殼)沒有點開口(tailf)受到影響由先前打開(tailf)在所述第一外殼。
0
如果您在Linux內核源代碼中查看tools/thermal/tmon/sysfs.c,所有函數都使用open-> read/write-> close。尤其是使用fread/fwrite等標準C庫函數時,緩衝可能會導致問題。或者你可以在每次寫入之後使用fflush()。我仍然更願意爲每次寫入打開和關閉它,因爲sysfs條目不是基於磁盤的,並且可以在運行時更改。特別是如果它們對應於熱插拔設備。
+0
感謝您指出使用fwrite時遇到的問題。 – mr49
0
每次打開和關閉文件描述符(fopen)總是最佳實踐。如果你將始終保持你的sysfs打開;那麼它將保持這個特定數量的內存直到結束。
相關問題
- 1. 我應該重複打開/關閉一個文件還是將其保持打開一段時間(〜1周)?
- 2. 我應該讓QFile(或fstream)打開嗎?
- 3. 我應該在長時間運行的過程中保持套接字打開嗎?
- 4. 保持很長一段時間
- 5. 我應該保持Sqlite連接打開嗎?
- 6. 我應該保持數據庫連接打開嗎?
- 7. 我應該每次打開一個IDBDatabase還是保持一個實例打開?
- 8. 我應該如何讓多個項目之間保持一致?
- 9. 可以在SQLite中長時間保持讀事務處於打開狀態嗎?
- 10. 保持ADODB連接打開一段時間
- 11. 連接池應該比保持連接打開慢得多嗎?
- 12. 點擊框中的jQuery應該保持打開狀態嗎?
- 13. Secure Gateway服務保持連接打開多長時間
- 14. 保持LINQ-to-SQL DataContext打開的時間要多長?
- 15. 我該如何長時間保持聲音?
- 16. WM6.5連接到SQL Server 2008:我應該保持連接打開嗎?
- 17. XmlDocument的保存保持文件打開
- 18. 爲什麼我應該保持流打開,而使用位圖
- 19. 長時間保存文件
- 20. 保持鍵盤在文本字段之間焦點變化時打開
- 21. 我可以打開一個文件讓R運行代碼嗎?
- 22. 如何讓其他應用程序打開我需要保持打開的文件?
- 23. 長時間不打開應用程序
- 24. 需要多長時間才能打開一個文件
- 25. 保持DIV打開時,日曆打開
- 26. 如何讓文件保持打開狀態以便讀取
- 27. 如何讓grep保持文件/管道打開?
- 28. 記住我 - 應該持續多長時間
- 29. Angular-UI在區間更新期間保持手風琴打開
- 30. 延長課程時,我應該保留包名嗎?
只需保持一個文件更長時間的打開('tail -f')。 –
@CL感謝您的建議。 – Drad
@subin我不同意sysfs條目會被緩存的地方。 sysfs條目像ramfs/tmpfs一樣在內存中。沒有像實際磁盤那樣的磁盤緩存。 – Drad