Est-il possible de trouver l’heure de modification d’un socket (ou d’un fichier), compte tenu de l’inode?

J’ai l’inode d’un socket – pris de / proc / net / tcp par exemple, et souhaite trouver plus de données sur ce socket, en particulier l’heure de création ou de modification.

Je travaille en C sous Linux (kernel 2.6).

Ceci est similaire à la question Obtenir les détails du fichier par inode – mais cela venait de bash. La conclusion est qu’il n’ya pas de solution simple et qu’il s’agit de répertoires de chalutage pour une correspondance. J’espérais quelque chose de plus efficace.

J’ai bien peur que non. L’heure de création du fichier n’est pas conservée, les trois horodatages (voir man 2 stat) sont l’heure du dernier access (heure du début), l’heure de la dernière modification (mtime) et l’heure du dernier changement d’état du fichier (ctime ).

Lorsque le temps de création est nécessaire, il est courant de l’inclure quelque part dans le nom du fichier, ce qui n’est évidemment pas une option avec / proc / net / tcp.

Il apparaît que sur les systèmes que j’ai étudiés, le temps de création ou de modification de sockets stockés de manière accessible est limité.

Il est possible de trouver l’inode à partir des entrées de / proc / net / tcp, puis de rechercher tous les descripteurs de fichiers dans tous les processus de / proc // fd pour une correspondance.

Cela n’aide pas vraiment, car les horodatages semblent apparaître lorsque ce répertoire est utilisé pour la première fois. Le pseudo-répertoire n’est créé que lorsqu’il est interrogé.