lsof
lista arquivos abertos e mmap (2) pode acessar os dados depois que o descritor de arquivo é fechado ou mesmo unlink
-ed (ele está usando um nó i), mas /proc/$PID/maps
tenta mostrar algo sobre eles.
Enquanto procurava um método de detecção para serviços que precisariam ser iniciados após o patch do OpenSSL, tropecei em uma diferença entre o retorno desses dois comandos:
[root@host ~]# cat /proc/1/maps 7f751546c000-7f7515478000 r-xp 00000000 fd:01 5170 /lib64/libnss_files-2.12.so (deleted) 7f751567a000-7f7515804000 r-xp 00000000 fd:01 360 /lib64/libc-2.12.so (deleted) 7f7515a09000-7f7515a0e000 rw-p 00000000 00:00 0 7f7515a0e000-7f7515a24000 r-xp 00000000 fd:01 14847 /lib64/libgcc_s-4.4.7-20120601.so.1 7f7515c24000-7f7515c2b000 r-xp 00000000 fd:01 5173 /lib64/librt-2.12.so (deleted) ... [root@host~]# lsof -p 1 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd DIR 253,1 4096 2 / init 1 root rtd DIR 253,1 4096 2 / init 1 root txt REG 253,1 150352 534 /sbin/init init 1 root DEL REG 253,1 5170 /lib64/libnss_files-2.12.so init 1 root DEL REG 253,1 360 /lib64/libc-2.12.so init 1 root mem REG 253,1 90880 14847 /lib64/libgcc_s-4.4.7-20120601.so.1 init 1 root DEL REG 253,1 5173 /lib64/librt-2.12.so ...
Por que o primeiro diz que foi excluído e o outro não?
Eu também gostaria de acrescentar que a última reinicialização do sistema é mais recente que a última modificação desses arquivos, o que tende a me fazer pensar que eles não foram excluídos desde a última inicialização ...
lsof
lista arquivos abertos e mmap (2) pode acessar os dados depois que o descritor de arquivo é fechado ou mesmo unlink
-ed (ele está usando um nó i), mas /proc/$PID/maps
tenta mostrar algo sobre eles.