로컬 리프패드 인스턴스가 어떤 파일을 열었는지 확인

로컬 리프패드 인스턴스가 어떤 파일을 열었는지 확인

나는 이름과 위치를 잊어버린 특정 파일이 열려 있는 특정 컴퓨터에서 leafpad 텍스트 편집기 인스턴스를 실행하고 있습니다(실제로는 더 복잡하지만 이는 단순화된 버전입니다). 그런 다음 물리적 머신을 떠나 다른 곳으로 이동하여 SSH를 통해 머신에 연결하고 셸을 실행합니다. 이제 leafpad 인스턴스가 어떤 파일을 열었는지 확인하고 싶습니다.

leafpad의 명령줄에 없습니다( 로 확인 ps). 열려 있는 파일이 아니거나 적어도 에 표시되지 않는 것 같습니다 lsof.

답변1

또는 Leafpad에서 열린 모든 파일을 즉시 닫으 므로 열린 파일의 이름을 보관하지 않습니다 . 예를 들어 다음 과 같이 이를 확인할 수 있습니다 ./proc/<PID>/fd/proc/<PID>/mapsLeafpadstrace 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">

관련 정보