確定本機 leafpad 實例開啟了哪些文件

確定本機 leafpad 實例開啟了哪些文件

我正在某台電腦上執行 leafpad 文字編輯器實例,該電腦開啟了某個文件,我忘記了其名稱和位置(它實際上更複雜,但這是一個簡化版本)。然後我離開實體機,離開,透過 SSH 連接到機器並執行 shell。我現在想弄清楚 leafpad 實例打開了哪個檔案。

它不在 leafpad 的命令列中(用 進行檢查ps);它不是一個打開的文件,或者至少 - 它似乎沒有出現在lsof.

答案1

您不會歸檔使用或開啟的檔案的名稱Leafpad/proc/<PID>/fd因為/proc/<PID>/mapsLeafpad立即關閉它所開啟的所有檔案。您可以使用 檢查strace leafpad,例如:

open("/home/ja/python/memory-popen/a.py", O_WRONLY|O_CREAT|O_APPEND, 0666) = 9
lseek(9, 0, SEEK_END)                   = 519
close(9)                                = 0

只有在儲存完成後,才會重新開啟和關閉已開啟的檔案。

正如我在評論中所說,您可以將文件名作為參數傳遞給 Leafpad- 然後它將被記錄在命令名稱中:

$ leafpad ~/python/a.py
$ ps aux | grep '[l]eafpad'
ja       12964  1.3  0.2 325764 22328 pts/11   Sl   16:13   0:00 leafpad /home/ja/python/a.py

Leafpad作為最後的手段,您可以查找in打開的最近文件列表 ,但請注意,這與當前保持打開的~/.local/share/recently-used.xbel文件列表不同:Leafpad

$ grep -B 5 -F '<bookmark:application name="Leafpad"' ~/.local/share/recently-used.xbel | grep -F '<bookmark href='
  <bookmark href="file:///home/ja/python/memory-popen/a.py" added="2019-05-21T13:47:23Z" modified="2019-05-21T14:05:20Z" visited="2019-05-21T13:47:23Z">
  <bookmark href="file:///home/ja/python/motion/motion.py" added="2019-05-21T14:07:21Z" modified="2019-05-21T14:07:21Z" visited="2019-05-21T14:07:21.275528Z">

相關內容