
Estou executando uma instância do editor de texto leafpad em um determinado computador, que possui um determinado arquivo aberto, cujo nome e localização esqueci (na verdade é mais complicado, mas esta é uma versão simplificada). Então saio da máquina física, me afasto, conecto-me à máquina via SSH e coloco um shell em execução. Agora quero descobrir qual arquivo a instância do leafpad abriu.
Não está na linha de comando do leafpad (verificado com ps
); e não é um arquivo aberto, ou pelo menos - não parece aparecer no lsof
.
Responder1
Você não arquivará os nomes dos arquivos que abriu Leafpad
ou
/proc/<PID>/fd
porque /proc/<PID>/maps
fecha Leafpad
imediatamente todos os arquivos que abre. Você pode verificar isso com strace leafpad
, por exemplo:
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
Os arquivos abertos são reabertos e fechados novamente somente quando o salvamento é concluído.
Como eu disse no comentário você pode passar o nome do arquivo como argumento
Leafpad
- ele seria então registrado no nome do comando:
$ 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
Como último recurso você pode procurar a lista de arquivos recentes abertos por
Leafpad
in ~/.local/share/recently-used.xbel
mas observe que esta não é a mesma lista de arquivos que Leafpad
permanecem abertos no momento:
$ 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">