OpenSSL을 패치한 후 다시 시작해야 하는 서비스를 검색하는 방법을 찾는 동안 다음 두 명령의 반환 결과 간의 차이점을 발견했습니다.
[root@host ~]# cat /proc/1/maps 7f751546c000-7f7515478000 r-xp 00000000 fd:01 5170 /lib64/libnss_files-2.12.so (삭제됨) 7f751567a000-7f7515804000 r-xp 00000000 fd:01 360 /lib64/libc-2.12.so (삭제됨) 7f7515a09000-7f7515a0e000 읽기 및 쓰기 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 (삭제됨) ... [root@host~]# lsof -p 1 명령 PID 사용자 FD 유형 장치 크기/종료 노드 이름 1 루트 cwd DIR 253,1 4096 2 / 초기화 1 루트 rtd DIR 253,1 4096 2/ 초기화 1 루트 txt 초기화 REG 253,1 150352 534 /sbin/init 1 루트 초기화 DEL REG 253,1 5170 /lib64/libnss_files-2.12.so 초기화 1 루트 DEL REG 253,1 360 /lib64/libc-2.12.so 초기화 1 루트 메모리 REG 253,1 90880 14847 /lib64/libgcc_s-4.4.7-20120601.so.1 1 루트 초기화 DEL REG 253,1 5173 /lib64/librt-2.12.so ...
첫 번째 항목에는 삭제되었다고 표시되는데 다른 항목에는 삭제되지 않은 이유는 무엇입니까?
또한 마지막 시스템 재부팅이 이 파일의 마지막 수정보다 최근에 이루어졌다는 점을 덧붙이고 싶습니다. 이로 인해 마지막 부팅 이후 해당 파일이 삭제되지 않은 것 같은 경향이 있습니다...
답변1
lsof
목록열려 있는파일 및매핑(2)unlink
파일 설명자가 닫히거나 -ed(i-node 사용)된 후에도 데이터에 액세스 할 수 있지만 /proc/$PID/maps
이에 대한 일부 정보를 표시하려고 시도합니다.