Le sous répertoire "fd"(pour "file descriptor") dans le répertoire au /proc/<PID> permet de faire le bilan des "fichiers" (au sens large) accédés par un processus Unix actif. Ci dessous pour le processus OpenHR dont le PID est 16964 :
ps -fp 16964
UID PID PPID C STIME TTY TIME CMD
hradev 16964 1 1 10:41 pts/4 00:00:16 /usr/java1.6/bin/java -Xms64M -Xmx128M -classpath /hradev/openhr/bin/bootstrap.jar
ls /proc/16964/fd
0 10 12 14 16 18 2 21 23 25 27 29 30 32 34 36 38 4 41 43 45 47 49 50 52 54 57
1 11 13 15 17 19 20 22 24 26 28 3 31 33 35 37 39 40 42 44 46 48 5 51 53 55 59
Un "ls -l" affichera (sous Linux) le lien entre le numéro du "descripteur de fichier" et sa cible :
ls -l /proc/16964/fd
lr-x------ 1 hradev hradev 64 18 oct. 10:58 0 -> /dev/null
l-wx------ 1 hradev hradev 64 18 oct. 10:58 1 -> /dev/null
lr-x------ 1 hradev hradev 64 18 oct. 10:58 10 -> /hradev/openhr/lib/commons-codec-1.6.jar
lr-x------ 1 hradev hradev 64 18 oct. 10:58 11 -> /hradev/openhr/lib/commons-net-3.0.1.jar
lr-x------ 1 hradev hradev 64 18 oct. 10:58 12 -> /hradev/openhr/lib/hr-kernel-7.30.03007.1234.jar
lr-x------ 1 hradev hradev 64 18 oct. 10:58 13 -> /hradev/openhr/lib/commons-httpclient-3.1.jar
...
l-wx------ 1 hradev hradev 64 18 oct. 10:58 52 -> /hradev/openhr/logs/ophrs.log (deleted)
On notera que le descripteur de fichier 52 pointe sur un fichier qui a été supprimé : le log de OpenHR.
Toutefois, le processus OpenHR étant encore actif et n'ayant pas libéré le fichier, ce dernier est encore "présent"... Même s'il n'est plus affiché à l'utilisateur qui liste le contenu du répertoire :
ls -l /hradev/openhr/logs/ophrs.log
ls: impossible d'accéder à /hradev/openhr/logs/ophrs.log: Aucun fichier ou dossier de ce type
Il peut donc être consulté, voir recopié (dans un cas comme celui du ophrs.log, n'essayez pas de restaurer le fichier : vous créeriez un "nouveau" fichier log dont le descripteur de fichier sera différent de celui d'origine).
tail /proc/16964/fd/52
2013-10-18 10:41:42,619 INFO [ ][ ][main] - OPHRS1999 OpenHR server is ready for business (Release <7.000>)
2013-10-18 10:42:41,294 INFO [000000B7][188.8.244.10 ][MessageProcessor-2] - OPHRS1077 Queued a new message for service <Default>
2013-10-18 10:44:05,419 INFO [00000305][188.8.244.10 ][MessageProcessor-2] - OPHRS1200 Using strategy <com.hraccess.dispatcher.service.login.uid.SimpleVirtualSessionIdGenerator> to create virtual session IDs
Plus de détails sur : http://www.hackinglinuxexposed.com/articles/20020507.html
Aucun commentaire:
Enregistrer un commentaire