OVH Cloud OVH Cloud

[C/Unix] Liste des fichiers ouverts par un programme

11 réponses
Avatar
JKB
Bonjour à tous,

Je suis confronté à un problème bête. Je pense qu'il a une solution
plus élégante qu'un popen sur un lsof ;-)

Existe-t-il un appel de la libc (ou de toute autre bibliothèque tant
qu'on y est) permettant de connaître la liste des fichiers ouverts
par le programme appelant ? J'ai rtfmé, googlisé sans trop de succès
jusques à présent...

Merci d'avance,

JKB

--
En plus c'est simple, je fais ce genre de trucs en g77 depuis des années :
il suffit d'écrire un wrapper en C. Et comme ça, j'ai le meilleur des deux
mondes : la rigueur quasi-monacale du Fortran, et l'exubérance pétulante du C.

1 réponse

1 2
Avatar
Nicolas George
Laurent Wacrenier wrote in message
:
fstat() ne marche que sur certains descripteurs (principalement ceux
concernant les fichiers) et avec certaines restrictions.


Première nouvelle. D'après Single Unix, aucune erreur n'est réservée pour
que fstat a été appelé sur un fd qui n'est pas du bon type. De plus,
toujours d'après Single Unix, fstat est censé marcher sur des objets de
mémoire partagée ou de mémoire typée : s'il marche avec ces machins que
personne ne connaît, il doit bien marche avec des sockets et des pipes que
tout le monde utilise.

Tu penses à quelles paires (système, type de fichiers) ?

1 2