是否有一種簡單的方法來檢測寫入文件何時關閉?我有一個每5秒鐘啓動一個新文件的進程。我無法更改該過程的代碼。我正在編寫另一個過程,在創建時立即分析每個文件的內容。是否有一種簡單的方法來查看某個目錄,以查看文件何時不再打開以供寫入?我希望得到某種Linux命令。檢測文件已關閉
Q
檢測文件已關閉
2
A
回答
2
你可以把東西放在strace頂部來提高你的事件。
嘗試:
strace ls 2>&1 | grep "close\|open"
使用inotify的也是一個不錯的主意,但可能需要更多的編碼來得到你所需要的。
1
2
如果你知道有文件中表示寫你完成可以很容易地觀看,使用命令,如grep
也有一些特定的文本(行),可以使用fuser
命令,如果文件找出來正在使用中。
2
由於您正在使用Linux作爲您的平臺,您可能需要查看inotify系統調用。當監視目錄時,輸出文件被寫入,您將獲得在那裏創建的文件的打開/關閉事件。
如果你想把它集成到shell腳本中,請看inotifywait,它是inotify-tools的一部分。
1
如果您知道正在寫入文件的進程的進程ID,您可以觀看/proc/<pid>/fd/
以查看它已打開哪些文件。
相關問題
- 1. 檢測Excel文件是否已關閉
- 2. 檢測SKShapedNode已關閉
- 3. 檢測COM端口是否已關閉
- 4. 在form1中檢測到form2已關閉
- 5. 檢測Portlet會話已關閉
- 6. 如何檢測JFrame已關閉?
- 7. NIO - 檢測已關閉的連接
- 8. 檢測Android中的活動已關閉
- 9. 如何檢測一個SubView已關閉?
- 10. c#Compact Framework檢測連接已關閉
- 11. 關閉已經關閉的文件
- 12. 檢測popover關閉
- 13. 檢測Outlook檢查器窗口是否已關閉
- 14. datepicker的角度事件檢測關閉
- 15. 檢測vb.net瀏覽器關閉事件
- 16. 微調檢測關閉事件
- 17. 如何檢測IE11關閉事件
- 18. 連接關閉,EOF檢測
- 19. 檢測iframe何時關閉
- 20. 檢測數據庫關閉
- 21. 檢測窗口關閉
- 22. 窗口關閉時檢測?
- 23. Qt - QWindow關閉時檢測
- 24. 檢測擠壓箱關閉
- 25. SWF關閉時AS2檢測
- 26. 檢查用fopen打開的文件是否已關閉
- 27. 無法訪問已關閉的文件
- 28. .txt文件是否已關閉?
- 29. 重命名已關閉的文件
- 30. 如何檢測無模式CDialog是否已關閉?
什麼語言?每個進程調用什麼上下文? – IAbstract 2010-04-14 16:34:03
爲了有更多的時間來處理文件,可以考慮在內存中創建一個文件系統 - 這應該可以加快速度。 – 2010-04-14 16:36:17
任何語言。我希望在bash中有所作爲,但任何事情都可以做到。該進程是一個命令行實用程序,由用戶直接執行並運行幾個小時。 – User1 2010-04-14 16:40:42