
나는 이름과 위치를 잊어버린 특정 파일이 열려 있는 특정 컴퓨터에서 leafpad 텍스트 편집기 인스턴스를 실행하고 있습니다(실제로는 더 복잡하지만 이는 단순화된 버전입니다). 그런 다음 물리적 머신을 떠나 다른 곳으로 이동하여 SSH를 통해 머신에 연결하고 셸을 실행합니다. 이제 leafpad 인스턴스가 어떤 파일을 열었는지 확인하고 싶습니다.
leafpad의 명령줄에 없습니다( 로 확인 ps
). 열려 있는 파일이 아니거나 적어도 에 표시되지 않는 것 같습니다 lsof
.
답변1
또는 Leafpad
에서 열린 모든 파일을 즉시 닫으 므로 열린 파일의 이름을 보관하지 않습니다 . 예를 들어 다음 과 같이 이를 확인할 수 있습니다 ./proc/<PID>/fd
/proc/<PID>/maps
Leafpad
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">