lsof [
-?abChlnNOPRstUvVX ] [
-A A ] [
-c c ] [
+|-d d ] [
+|-D D ] [
+|-f [cfgGn] ] [
-F [f] ] [
-g [s] ] [
-i [i] ] [
-k k ] [
+|-L [l] ] [
-m m ] [
+|-M ] [
-o [o] ] [
-p s ] [
+|-r [t] ] [
-S [t] ] [
-T [t] ] [
-u s ] [
+|-w ] [
-- ] [noms]
DESCRIPTION
Lsof r??vision (VN affiche des informations sur les fichiers ouverts par des processus pour les dialectes UNIX suivants :
AIX 4.3.[23], 5L, and 5.1
Apple Darwin 1.[23] et 1.4 pour les syst??mes Power
Macintosh
BSDI BSD/OS 4.1 pour les syst??mes ?? base de
processeurs Intel
DEC OSF/1, Digital UNIX, Tru64 UNIX 4.0 et 5.[01]
FreeBSD 4.[234] et 5.0 pour les syst??mes ?? base de
processeurs Intel
HP-UX 11.00 et 11.11
Linux 2.1.72 et sup??rieur pour les syst??mes ?? base
de processeurs Intel
NetBSD 1.5 pour les syst??mes bas??s Alpha, Intel
et SPARC
NEXTSTEP 3.[13] pour les architectures NEXTSTEP
OpenBSD 2.[89] and 3.0 pour les syst??mes ?? base de
processeurs Intel
OPENSTEP 4.x
Caldera OpenUNIX 8
SCO OpenServer version 5.0.[46] pour les syst??mes
?? base de processeurs Intel
SCO UnixWare 7.1.1 pour les syst??mes ?? base de
processeurs Intel
Solaris 2.6, 7, 8, et 9 BETA
(Voyez la section
DISTRIBUTION de cette page de manuel pour savoir comment obtenir la derni??re version de
lsof ).
Un fichier ouvert peut ??tre un fichier r??gulier, un r??pertoire, un fichier sp??cial en mode bloc, un fichier sp??cial en mode caract??re, une r??f??rence de texte ex??cutable, une librairie, un flux ou un fichier r??seau (socket Internet, fichier NFS ou socket de domaine UNIX). Un fichier sp??cifique ou tous les fichiers d'un syst??me de fichiers peuvent ??tre s??lectionn??s en sp??cifiant son (leur) chemin(s).
Au lieu d'un affichage format??,
lsof produira une sortie pouvant ??tre analys??e par d'autres programmes. Voyez la description de l'option
-F , et la section
SORTIE POUR D'AUTRES PROGRAMMES pour plus d'informations.
En plus de produire en sortie une liste unique,
lsof s'ex??cutera en mode r??p??tition.
En mode r??p??tition, il produira une sortie, attendra un moment, et r??p??tera ensuite l'op??ration de sortie jusqu'?? ce qu'il soit arr??t?? par un signal d'interruption ou d'arr??t. Voyez la description de l'option
+|-r [t] pour plus d'informations.
OPTIONS
En l'absence d'option,
lsof liste tous les fichiers ouverts appartenant aux processus actifs.
Si une option de requ??te de liste est sp??cifi??e, les autres requ??tes de liste doivent ??tre requises explicitement - p.ex., si
-U est sp??cifi?? pour le listage des fichiers de sockets UNIX, les fichiers NFS ne seront pas list??s ?? moins que
-N ne soit ??galement sp??cifi?? ; de fa??on similaire, si une liste d'utilisateurs est sp??cifi??e avec l'option
-u , les fichiers de sockets de domaine UNIX appartenant ?? des utilisateurs non pr??sents dans la liste ne seront pas list??s ?? moins que l'option
-U ne soit ??galement sp??cifi??e.
Normalement, les options de listes qui sont explicitement indiqu??es sont associ??es par un OU - c.-??-d. que la sp??cification de l'option
-i sans adresse et l'option -ufoo produisent un listing de tous les fichiers r??seau OU appartenant ?? l'utilisateur ?? foo ??.
Une exception est le nom de connexion (login) ?? ^ ?? (ni??) ou l'ID d'utilisateur (UID) sp??cifi?? avec l'option
-u. Puisque c'est une exclusion, elle est appliqu??e sans r??aliser de disjonction ni de conjonction et prend effet avant que tout autre crit??re de s??lection ne soit appliqu??.
L'option
-a peut ??tre utilis??e pour pr??ciser une conjonction (ET) de s??lections. Par exemple, sp??cifier
-a , -U et -ufoo produit un listing des seuls fichiers de socket UNIX qui appartiennent ?? des processus relevant de l'utilisateur ?? foo ??.
Attention : l'option
-a provoque la mise en association de toutes les options de s??lection de liste par un ET binaire ; elle ne peut ??tre utilis??e pour effectuer une conjonction de paires s??lectionn??es d'options de s??lection en ??tant plac??e entre elles, m??me si son emplacement est acceptable. ?? chaque fois que
-a est utilis??e, elle provoque la mise en conjonction de toutes les options de s??lection.
Les ??l??ments du m??me groupe de s??lection - noms de commandes, descripteurs de fichiers, adresses r??seau, identificateurs de processus, identificateurs d'utilisateurs - sont associ??s dans un seul ensemble par un OU binaire, et sont appliqu??s avant que le r??sultat ne participe ?? un ET binaire.
Ainsi, par exemple, sp??cifier -i@aaa.bbb, -i@ccc.ddd,
-a et -ufff,ggg s??lectionnera le listing des fichiers qui appartiennent ?? ?? fff ?? OU ?? ?? ggg ?? ET qui disposent de connexions r??seau vers l'h??te aaa.bbb OU ccc.ddd.
Les options peuvent ??tre regroup??es ?? la suite d'un pr??fixe unique -- p.ex., le jeu d'options ?? -a -b -C ?? peut ??tre d??sign?? par
-abC . N??anmoins, puisque les valeurs suivant
+|-f , -F , -g , -i , +|-L , -o , +|-r , -S ou
-T sont optionnelles, si vous ne leur fournissez pas de valeur, prenez garde ?? ce que le caract??re suivant ne soit pas ambigu. Par exemple,
-Fn pourrait repr??senter les options
-F et
-n , ou pourrait repr??senter le
n -i??me identificateur de champ suivant l'option
-F. Quand une ambigu??t?? est possible, faites d??buter une nouvelle option par un caract??re ?? - ??, p.ex. ?? -F -n ??. Si l'option suivante est un nom de fichier, faites suivre l'option hypoth??tiquement ambigu?? par ?? -- ??, p.ex. ?? -F -- nom ??.
Le pr??fixe ?? + ?? ou ?? - ?? peut ??tre appliqu?? ?? un groupe d'options. Les options qui n'ont pas une signification sp??ciale pour chaque pr??fixe - p.ex. -i - peuvent ??tre group??es ?? la suite de l'un quelconque des pr??fixes. Par cons??quent, par exemple, ?? +M -i ?? peut ??tre indiqu?? sous la forme ?? +Mi ?? et le groupe signifie la m??me chose que les options s??par??es.
Faites attention au groupement d'options quand une ou plusieurs des options du groupe prennent un signification diff??rente en fonction du pr??fixe - p.ex, +|-M; ?? -iM ?? n'est pas la m??me requ??te que ??-i +MM ??. En cas de doute, utilisez des options s??par??es avec des pr??fixes appropri??s.
-? -h
Ces deux options ??quivalentes s??lectionnent une liste de sortie d'utilisation (d'aide).
Lsof affiche une forme abr??g??e de cette sortie quand il d??tecte une erreur dans les options qu'il re??oit, apr??s qu'il ait affich?? les messages expliquant chaque erreur. (Prot??gez le caract??re ?? ? ?? si votre shell le requiert.)
-a
Cette option provoque la mise en conjonction des options de s??lection de liste, comme d??crit plus haut.
-A A
Cette option est disponible sur les syst??mes configur??s pour l'AFS et dont le code AFS du noyau est impl??ment?? via des modules dynamiques. Elle permet ?? l'utilisateur de
lsof de sp??cifier
A comme un fichier de liste de noms alternatif o?? les adresses noyau des modules dynamiques peuvent ??tre trouv??s. Voyez la FAQ
lsof (La section FAQ vous donne son emplacement.) pour plus d'informations sur les modules dynamiques, leurs symboles, et la fa??on dont ils affectent
lsof .
-b
Cette option indique ??
lsof d'??viter les fonctions du noyau qui pourraient bloquer -
lstat(2) ,readlink(2) , et
stat(2) . Voyez les sections
BLOCAGES ET TEMPORISATIONS et
??VITER LES BLOCAGES NOYAU pour en savoir plus sur l'utilisation de cette option.
-c c
Cette option s??lectionne le listing des fichiers pour les processus ex??cutant la commande qui d??bute par les caract??res de
c . De multiples commandes peuvent ??tre sp??cifi??es, en utilisant de multiples options
-c. Elles sont associ??es dans un seul ensemble par un OU binaire avant de participer ?? une s??lection par ET binaire des options.
Si
c d??bute et se termine par un slash (?? / ??), les caract??res pr??sents entre les slashs sont interpr??t??s comme repr??sentant une expression r??guli??re. Les m??ta-caract??res du shell qui font partie des expressions r??guli??res doivent ??tre prot??g??s pour ??viter leur interpr??tation par le shell. Le slash de fermeture peut ??tre suivi par ces modificateurs :
b l'expression r??guli??re est basique.
i ignorer la casse des lettres.
x l'expression r??guli??re est ??tendue
(d??faut).
Voyez la FAQ
lsof (La section FAQ vous donne son emplacement.) pour plus d'informations sur les expressions r??guli??res basiques et ??tendues.
La sp??cification de commande simple est test??e en premier lieu. Si ce test ??choue, l'expression r??guli??re de commande est appliqu??e. Si le test de commande simple r??ussit, le test d'expression r??guli??re de commande n'est pas effectu??. Ceci peut r??sulter en des messages ?? no command found for regex : ?? (aucune commande trouv??e pour l'expression r??guli??re) quand l'option
-V de lsof est sp??cifi??e.
-C
Cette option d??sactive le rapport des composants des noms de chemin du cache de noms du noyau. Voyez la section
CACHE DE NOMS DU NOYAU pour plus d'informations.
+d s
Cette option indique ??
lsof de rechercher toutes les instances ouvertes du r??pertoire
s et les fichiers et r??pertoires qu'il contient au premier niveau. Cette option ne descend PAS dans l'arbre de r??pertoires de racine
s , et ne suit pas non plus les liens symboliques qui en font partie. L'option
+D D peut ??tre utilis??e pour requ??rir une recherche sur toute la profondeur de l'arbre de r??pertoires ayant le r??pertoire
D pour racine.
Note : l'autorit?? de l'utilisateur sur cette option se limite ?? la recherche de fichiers que l'utilisateur ?? la permission d'examiner via la fonction syst??me
stat(2) .
-d s
Cette option s??lectionne le listing des fichiers dont les descripteurs sont pr??sents dans l'ensemble
s d??coup?? par des virgules
- p.ex, ?? 1,3 ?? ou ?? 6,cwd,2 ??. (Il ne devrait pas y avoir d'espaces dans l'ensemble.)
Un intervalle de num??ros de descripteurs de fichiers peut ??tre inclus dans l'ensemble pour autant qu'aucun membre ne soit vide, que les deux membres soient des nombres, et que le membre de fin soit sup??rieur ?? du d??part - p.ex. ?? 0-7 ?? ou ?? 3-10 ??.
De multiples num??ros de descripteur de fichiers sont associ??s dans un seul ensemble par un OU binaire avant de participer ?? une s??lection par ET binaire des options.
Voyez la description des valeurs de sortie de descripteur de fichier (File Descriptor, FD) dans la section
SORTIE pour plus d'informations sur les noms de descripteurs de fichiers.
+D D
Cette option indique ??
lsof de rechercher toutes les instances ouvertes du r??pertoire
D et tous les fichiers et r??pertoires qu'il contient jusqu'?? sa profondeur maximale. Les liens symboliques ?? l'int??rieur du r??pertoire
D sont ignor??s, c.-??-d. non suivis.
Note : l'autorit?? de l'utilisateur sur cette option se limite ?? la recherche de fichiers que l'utilisateur ?? la permission d'examiner via la fonction syst??me
stat(2) . Note suppl??mentaire :
lsof peut g??rer lentement cette option et requiert beaucoup de m??moire dynamique pour ce faire. C'est d?? au fait qu'il doit parcourir enti??rement l'arbre de r??pertoires de racine
D , en appelant
stat(2) pour chaque fichier et r??pertoire, en construisant une liste de tous les fichiers qu'il trouve, et en y recherchant une correspondance pour chaque fichier ouvert. Quand le r??pertoire
D est ??tendu, ces ??tapes peuvent prendre beaucoup de temps ; utilisez donc cette option avec prudence.
-D D
Cette option force l'utilisation du fichier de cache des p??riph??riques par
lsof. L'utilisation de cette option est parfois interdite. Voyez la section
FICHIER DE CACHE DES P??RIPH??RIQUES et suivantes pour en savoir plus sur cette option.
-D doit ??tre suivi par une lettre de fonction ; la lettre de fonction peut ??tre suivie par un nom de chemin.
Lsof reconna??t les lettres de fonction suivantes :
? - rapporter les chemins de fichier de cache de
p??riph??riques
b - construire le fichier de cache de p??riph??riques
i - ignorer le fichier de cache de p??riph??riques
r - lire le fichier de cache de p??riph??riques
u - lire et mettre ?? jour le fichier de cache de
p??riph??riques
Les fonctions
b , r et
u , accompagn??es d'un nom de chemin, sont parfois interdites. Quand ces fonctions sont interdites, elles n'appara??tront pas dans la description de l'option
-D qui accompagne la sortie de l'option
-h ou
-?. Voyez la section
FICHIER DE CACHE DES P??RIPH??RIQUES et suivantes pour plus d'informations sur ces fonctions et savoir ?? quelles occasions elles sont interdites.
La fonction
? rapporte les chemins en lecture seule et en ??criture que peut utiliser lsof pour le fichier de cache de p??riph??riques, le nom de toutes les variables d'environnement dont la valeur sera examin??e par
lsof lors de la formation du chemin du fichier de cache de p??riph??riques, et le format du chemin du fichier de cache de p??riph??riques personnel. (Prot??gez le caract??re ?? ? ?? si votre shell le requiert.)
Lorsqu'elles sont disponibles, les fonctions
b , r et
u peuvent ??tre suivies du chemin du fichier de cache de p??riph??riques. Le d??faut est
.lsof_nomh??te dans le r??pertoire personnel de l'UID r??el qui ex??cute
lsof , mais cela a pu ??tre modifi?? quand
lsof a ??t?? configur?? et compil??. (La sortie des options
-h et
-? montre le pr??fixe par d??faut actuel -p.ex. ?? .lsof ??.) Le suffixe
nomh??te est le premier composant du nom d'h??te retourn?? par
gethostname(2) . Quand elle est disponible, la fonction
b indique ??
lsof de construire un nouveau fichier de cache de p??riph??riques dans le chemin par d??faut ou dans celui sp??cifi??.
La fonction
i indique ??
lsof d'ignorer le chemin du fichier de cache de p??riph??riques par d??faut et d'obtenir son information sur les p??riph??riques par l'interm??diaire d'appels directs au noyau.
La fonction
r indique ??
lsof de lire le cache de p??riph??riques situ?? dans le chemin par d??faut ou dans celui sp??cifi??, mais l'emp??che de cr??er un nouveau fichier de cache de p??riph??riques quand aucun n'est pr??sent ou que celui existant est incorrectement structur??. La fonction
r , quand elle est sp??cifi??e sans nom de chemin, emp??che
lsof de mettre ?? jour un fichier de cache de p??riph??riques incorrect ou p??rim??, ou d'en cr??er un nouveau ?? la place. La fonction
r est toujours disponible quand elle est sp??cifi??e sans argument de nom de chemin ; elle peut ??tre interdite par les permissions du processus
lsof. Quand elle est disponible, la fonction
u indique ??
lsof de lire le cache de p??riph??riques situ?? dans le chemin par d??faut ou celui sp??cifi??, si c'est possible, et de le reconstruire si c'est n??cessaire. C'est la fonction de fichier de cache de p??riph??riques par d??faut quand aucune option
-D n'a ??t?? sp??cifi??e.
+|-f [cfgGn]
f clarifie en elle-m??me la fa??on dont les arguments de type nom de chemin doivent ??tre interpr??t??s. Quand cette option est suivie par
c , f , g , G ou
n dans n'importe quelle combinaison, elle sp??cifie que le listing d'information de structure de fichier du noyau doit ??tre autoris?? (?? + ??) ou interdit (?? - ??).
Normalement, un argument nom de chemin est consid??r?? ??tre le nom d'un syst??me de fichiers s'il correspond ?? l'un des noms de r??pertoires mont??s rapport??s par
mount(8) , ou s'il repr??sente un p??riph??rique en mode bloc, nomm?? dans la sortie de
mount et associ?? ?? un nom de r??pertoire mont??. Quand
+f est sp??cifi??e, tous les arguments noms de chemin seront consid??r??s ??tre des noms de syst??mes de fichiers, et
lsof se plaindra si ce n'est pas le cas. Cela peut ??tre utile, par exemple, quand le nom du syst??me de fichiers (p??riph??rique mount-??) n'est pas un p??riph??rique en mode bloc. Cela se produit pour certains syst??mes de fichiers de CD-ROM.
Quand
-f est sp??cifi??e, tous les arguments noms de fichier seront consid??r??s ??tre de simples fichiers. Ainsi, par exemple, les arguments ?? -f / ?? indiquent ?? lsof de rechercher les fichiers ouverts ayant ?? / ?? pour chemin, et pas tous les fichiers du syst??me de fichiers ?? / ?? (racine).
Assurez-vous que l'option
+f est correctement termin??e et n'est pas suivie par un caract??re (c.-??-d. en provenance du fichier ou du nom du syst??me de fichiers) qui pourrait ??tre consid??r?? ??tre un param??tre. Par exemple, utilisez ?? -- ?? apr??s
+f comme dans cet exemple.
$ lsof +f -- /nom/syst??me/fichiers
Le listing d'information sur les structures de fichier du noyau, requise par la forme d'option
+f [cfgGn] , est normalement inhib??, et n'est pas disponible pour certains dialectes - p.ex. pour un syst??me Linux utilisant le m??canisme /proc. Quand le pr??fixe de
f est un signe plus (?? + ??), ces caract??res requi??rent une information sur la structure fichier :
c compteur d'utilisation de la structure
fichier
f adresse de la structure fichier
g abr??viations des attributs de fichier
G attributs fichier en hexad??cimal
n adresse de noeud de la structure fichier
Quand le pr??fixe est moins (?? - ??), les m??mes caract??res d??sactivent le listage des valeurs indiqu??es.
Les adresses, compteurs d'utilisation, attributs et adresses de noeud des structures de fichier peuvent ??tre utilis??es pour d??tecter plus facilement les fichiers identiques h??rit??s par des processus fils, et les fichiers identiques utilis??s par diff??rents processus. La sortie en colonnes de
lsof peut ??tre tri??e par colonnes conservant des valeurs, et list??e pour identifier l'utilisation d'un fichier identique, ou bien alors la sortie en champs de
lsof peut ??tre examin??e par un script AWK ou Perl de post-filtrage.
-F f
Cette option sp??cifie une liste de caract??res,
f , qui s??lectionne les champs ?? sortir destin??s ?? un traitement par un autre programme, et le caract??re qui termine chaque champ en sortie. Chaque champ ?? produire est sp??cifi?? par un unique caract??re dans
f . Le terminateur de champ vaut NL (saut de ligne) par d??faut, mais peut ??tre chang?? en NUL (000). Voyez la section
SORTIE POUR D'AUTRES PROGRAMMES pour une description des caract??res d'identification de champ, et du processus de production des champs.
Quand la liste de caract??res de s??lection de champs est vide, tous les champs sont s??lectionn??s (sauf le champ raw device (p??riph??rique brut) pour des raisons de compatibilit??) et le terminateur de champ NL est utilis??.
Quand la liste de caract??res de s??lection de champs contient uniquement un z??ro, tous les champs sont s??lectionn??s (sauf le champ Raw Device pour des raisons de compatibilit??) et le caract??re de terminaison NUL est employ??.
D'autres combinaisons de champs et de leur caract??re terminateur de champ associ?? doivent ??tre d??finies via des entr??es explicites dans
f , comme d??crit dans la section
SORTIE POUR D'AUTRES PROGRAMMES. Quand un caract??re de s??lection de champ identifie un ??l??ment que
lsof ne liste normalement pas - p.ex., PPID, s??lectionn?? par la sp??cification de caract??re de champ
-R " -" - p.ex., ?? -FR ?? -
s??lectionne ??galement le listage de l'??l??ment.
Quand la liste de caract??res de s??lection de champs contient uniquement le caract??re ?? ? ??,
lsof affichera une liste d'aide sur les caract??res d'identification de champ. (Prot??gez le caract??re ?? ? ?? si votre shell le requiert.)
-g [s]
Cette option s??lectionne le listage des fichiers pour les processus dont le num??ro d'IDentification de Groupe de Processus (PGID) est pr??sent dans l'ensemble
s d??coup?? par des virgules
- p.ex., ?? 123 ?? ou ?? 123,456 ??. (Il ne devrait pas y avoir d'espace dans l'ensemble.)
De multiples num??ros de PGID sont associ??s dans un seul ensemble par un OU binaire avant de participer ?? une s??lection par ET binaire des options.
L'option
-g autorise ??galement l'affichage en sortie des num??ros de PGID. Quand elle est sp??cifi??e sans ensemble de PGID, c'est tout ce qu'elle fait.
-i [i]
Cette option s??lectionne le listing des fichiers dont l'adresse Internet correspond ?? l'adresse sp??cifi??e avec i. Si aucune adresse n'est sp??cifi??e, cette option s??lectionne le listing de tous les fichiers r??seaux Internet et x.25 (HP-UX).
Si
-i 4 ou
-i 6 est sp??cifi?? sans adresse ?? la suite, seuls les fichiers de la version IP indiqu??e, IPv4 ou IPv6, sont affich??es. (Une sp??cification IPv6 ne peut ??tre utilis??e que si le dialecte supporte IPv6, comme indiqu?? par ?? [46] ?? et ?? IPv[46] ?? dans la sortie
-h ou
-? de
lsof.) Sp??cifier s??quentiellement
-i 4, suivi de
-i 6 revient ?? sp??cifier
-i , et vice-versa. Sp??cifier
-i 4, ou
-i 6 apr??s
-i est identique ?? sp??cifier
-i 4 ou
-i 6 en eux-m??mes.
De multiples adresses (jusqu'?? une limite de 100) peuvent ??tre sp??cifi??es avec de multiples options
-i. (Un num??ro de port ou une gamme de noms de services comptent pour une seule adresse). Elles sont associ??es dans un seul ensemble par un OU binaire avant de participer ?? une s??lection par ET binaire des options.
Une adresse Internet est sp??cifi??e sous la forme (Les ??l??ments entre crochets sont optionnels.) :
[46][protocole][@nom_h??te|adresse_h??te][:service|port]
o?? :
46 sp??cifie la version IP, IPv4 ou IPv6
qui s'applique aux adresses ?? la suite.
?? 6 ?? ne peut ??tre sp??cifi?? que si le
dialecte UNIX supporte IPv6. Si ni ?? 4 ?? ni
?? 6 ?? n'est sp??cifi??, l'adresse ?? la suite
s'applique ?? toutes les versions d'IP.
protocole est un nom de protocole - TCP ou UDP.
nom_h??te est un nom d'h??te Internet. ?? moins qu'une
version IP sp??cifique ne soit sp??cifi??e, les
fichiers r??seau ouverts associ??s ?? des noms d'h??te
de toutes les versions seront s??lectionn??s.
adresse_h??te est une adresse IPv4 num??rique en
notation d??cimale point??e, ou une adresse IPv6
num??rique sous la forme double-point??e, enferm??e
entre crochets, si le dialecte UNIX supporte IPv6.
Quand une version IP est s??lectionn??e, seules ses
adresses num??riques peuvent ??tre sp??cifi??es.
service est un nom provenant de /etc/services
- p.ex. smtp - ou une liste de noms.
port est un num??ro ou une liste de num??ros de ports.
Les options IPv6 ne peuvent ??tre utilis??es que si le dialecte UNIX supporte IPv6. Pour d??terminer si le dialecte supporte IPv6, ex??cutez
lsof en sp??cifiant l'option
-h ou
-? (aide).
Si la description affich??e de l'option
-i contient ?? [46] ?? ou ?? IPv[46] ??, IPv6 est support??.
Les noms d'h??te et adresses IPv4 ne peuvent ??tre sp??cifi??s si la s??lection de fichiers r??seau est limit??e ?? IPv6 par
-i " 6." Les noms d'h??te et adresses IPv4 ne peuvent ??tre sp??cifi??es si la s??lection de fichiers r??seau est limit??e ?? IPv6 par
-i " 4." Quand un fichier r??seau IPv4 ouvert est converti en une adresse IPv6, le type de fichier ouvert sera IPv6, pas IPv4, et son affichage sera s??lectionn?? par ?? 6 ??, et pas ?? 4 ??.
Au moins un des composants de l'adresse -
4, 6, protocole , ,IR nom_h??te ,
adresse_h??te ou
service - doit ??tre fourni.
Le caract??re ?? @ ??, pr??sent en t??te de la sp??cification d'h??te, est toujours requis, comme l'est le ?? : ?? devant la sp??cification du port. Sp??cifiez soit
nom_h??te soit
adresse_h??te . Sp??cifiez soit une liste de noms de
services soit une liste de num??ros de
ports. Si une liste de noms de
services est sp??cifi??e, le
protocole peut ??galement ??tre requis si les num??ros de port TCP et UDP pour le nom du service sont diff??rents. Utilisez n'importe quelle casse - minuscule ou majuscule - pour le
protocole . Les noms de
services et num??ros de
ports peuvent ??tre combin??s dans une liste dont les entr??es sont s??par??es par des virgules, et dont les entr??es de type intervalle num??rique sont s??par??es par des signes moins. Il ne peut pas y avoir d'espace inclus, et tous les noms de service doivent appartenir au
protocole sp??cifi??. Puisque les noms de services peuvent contenir des signes moins en leur sein, l'entr??e de d??part d'un intervalle ne peut ??tre un nom de service ; elle peut n??anmoins ??tre un num??ro de port.
Voici quelques exemples d'adresses :
-i6 - IPv6 uniquement
TCP:25 - TCP et port 25
@1.2.3.4 - adresse d'h??te Internet IPv4 1.2.3.4
@[3ffe:1ebc::1]:1234 - adresse d'h??te Internet IPv6
3ffe:1ebc::1, port 1234
UDP:who - port du service UDP who
TCP@vic.cc:513 - TCP, port 513 et nom d'h??te vic.cc
tcp@foo:1-10,smtp,99 - TCP, ports 1 ?? 10,
nom de service smtp, port 99, nom d'h??te foo
tcp@bar:smtp-serveur_de_noms - TCP, ports smtp jusqu'??
serveur_de_noms, h??te bar
:time - le port de service d'horloge TCP ou UDP
-k k
Cette option sp??cifie un fichier de liste de noms du noyau,
k , au lieu de /vmunix, /mach, etc.
Cette option n'est pas disponible sous AIX sur l'IBM RISC/System 6000.
-l
Cette option emp??che la conversion d'ID d'utilisateur en nom de connexion. Elle est ??galement utilis??e quand la recherche de nom d'utilisateur ne fonctionne pas correctement ou trop lentement.
+|-L [l]
Cette option autorise (?? + ??) ou d??sactive (?? - ??) le listing des compteurs de liens de fichier quand ils sont disponibles - p.ex., ils ne sont pas disponibles pour les sockets, ou la plupart des FIFOs (files d'attente) et tubes.
Quand
+L est sp??cifi?? sans un nombre ?? la suite, tous les compteurs de liens seront list??s. Quand
-L est sp??cifi?? (le d??faut), aucun compteur de liens ne sera list??.
Quand
+L est suivi par un nombre, seuls les fichiers ayant un compteur de liens de valeur inf??rieure ?? ce nombre seront list??s. (Aucun nombre ne peut suivre
-L .) Une sp??cification de la forme ??\fB+L1 ?? s??lectionnera les fichiers ouverts qui ont ??t?? d??li??s. Une sp??cification de la forme ?? +aL1 <syst??me_fichiers> ?? s??lectionnera les fichiers ouverts non li??s pr??sents sur le syst??me de fichiers sp??cifi??.
Pour les autres comparaisons de compteur de liens, utilisez la sortie en champs (-F) et un script de post-traitement.
-m m
Cette option sp??cifie un fichier m??moire du noyau,
c , au lieu de
/dev/kmem ou
/dev/mem - p.ex. un fichier d'image de la m??moire apr??s un crash.
+|-M
Autorise (+) ou d??sactive (-) le rapport des enregistrements au gestionnaire de ports (portmapper) pour les ports TCP et UDP locaux. Le mode de rapport par d??faut est d??termin??e lors de la construction de
lsof gr??ce au #define HASPMAPENABLED du fichier d'en-t??te machine.h du dialecte utilis?? ;
lsof est distribu?? avec cette d??finition de macro d??sactiv??e, et ainsi le rapport du gestionnaire de ports est d??sactiv?? par d??faut et doit ??tre requis avec
+M . Sp??cifier l'option
-h ou
-? de
lsof rapportera le mode par d??faut. La d??sactivation de l'enregistrement au gestionnaire de ports quand il est d??j?? d??sactiv??, ou son activation quand il l'est d??j?? est acceptable (un avertissement sera n??anmoins ??mis).
Quand le rapport des enregistrements au gestionnaire de ports est activ??,
lsof affiche l'enregistrement au gestionnaire de ports (s'il y en a un) des ports TCP et UDP locaux entre crochets suivant imm??diatement les num??ros de ports ou les noms de services - p.ex. ?? :1234[nom] ?? ou ?? :nom[100083] ??. L'information d'enregistrement peut ??tre un nom ou un nombre, en fonction de ce que le programme d'enregistrement a fourni au gestionnaire de ports quand il a enregistr?? le port.
Quand le rapport des enregistrements au gestionnaire de ports est activ??,
lsof peut s'ex??cuter un peu plus lentement ou m??me se bloquer quand l'acc??s au gestionnaire de ports devient congestionn?? ou est interrompu. Renversez le mode de rapport pour d??terminer si le rapport des enregistrements au gestionnaire de ports ralentit ou bloque
lsof. ?? des fins de rapport d'enregistrement au gestionnaire de ports,
lsof consid??re qu'un port TCP ou UDP est local si : il est trouv?? dans la partie locale de sa structure noyau le contenant, s'il est situ?? dans la partie distante de la structure du noyau le comprenant et que les adresses Internet locale et distante sont identiques ou s'il est situ?? dans la partie distante de la structure du noyau le comprenant et que l'adresse Internet distante est INADDR_LOOPBACK (127.0.0.1). Cette r??gle peut faire en sorte que
lsof ignore certains ports distants sur des machines poss??dant de multiples interfaces quand l'adresse Internet distante est situ??e sur une interface diff??rente de l'interface locale.
Voyez la FAQ
lsof (La section FAQ vous donne son emplacement.) pour plus d'informations sur les questions relatives au rapport d'enregistrement au gestionnaire de ports.
-n
Cette option emp??che la conversion de num??ros r??seau (adresses d??cimales) en noms d'h??te pour les fichiers r??seau. Interdire la conversion peut acc??l??rer
lsof. C'est ??galement utile quand la recherche des noms d'h??tes ne fonctionne pas correctement.
-N
Cette option s??lectionne le listage des fichiers NFS.
-o
Cette option indique ??
lsof de toujours afficher la position (offset) dans le fichier. Elle provoque le remplacement du titre de la colonne de sortie SIZE/OFF (taille/pos) par OFFSET. Note : sur certains dialectes UNIX
lsof ne peut obtenir des informations pr??cises ou coh??rentes sur la position dans le fichier depuis ses sources de donn??es du noyau, parfois seulement pour certains types de fichiers particuliers (p.ex., les fichiers de socket.) Consultez la FAQ
lsof (La section FAQ vous donne son emplacement.) pour plus d'informations.
Les options
-o et
-s sont mutuellement exclusives ; elles ne peuvent ??tre sp??cifi??es en m??me temps. Quand aucune d'entre elles n'est sp??cifi??e,
lsof affiche la valeur - taille ou position - qui est appropri??e et disponible pour le type du fichier.
-o o
Cette option d??finit le nombre de chiffres d??cimaux (o) ?? afficher apr??s le ?? 0t ?? pour une position dans un fichier avant que l'on ne passe ?? la forme ?? 0x... ??. Une valeur nulle (illimit??e) pour
o indique ??
lsof d'utiliser la forme ?? 0t ?? pour toutes les sorties de position.
Cette option n'indique PAS ??
lsof de toujours afficher la position ; sp??cifiez
-o (sans nombre ?? la fin) pour requ??rir cela.
Cette option ne fait que sp??cifier le nombre de chiffres apr??s le ?? 0t ?? dans la sortie mixte taille/position ou position seule. Ainsi, par exemple, pour demander ??
lsof de toujours afficher la position avec un nombre de chiffres d??cimaux de 10, utilisez :
-o -o 10
ou
-oo10
Le nombre par d??faut de chiffres autoris??s apr??s ?? 0t ?? est normalement 8, mais peut avoir ??t?? modifi?? lors de la construction de lsof. Consultez la description de l'option
-o o dans la sortie de l'option
-h ou
-? pour d??terminer le d??faut en cours.
-O
Cette option indique ??
lsof de ??viter la strat??gie qu'il utilise pour ??viter d'??tre bloqu?? par certaines op??rations du noyau - c.-??-d. en les faisant dans des processus fils g??n??r??s par fork. Voyez les sections
BLOCAGES ET TEMPORISATIONS et
??VITER LES BLOCAGES NOYAU pour en savoir plus sur les op??rations du noyaux pouvant bloquer
lsof. Bien que l'utilisation de cette option r??duise la surcharge au d??marrage de
lsof , elle peut ??galement le faire se bloquer quand le noyau ne r??pond pas ?? une fonction. Utilisez cette option avec prudence.
-p s
Cette option s??lectionne le listage des fichiers pour les processus dont les num??ros identifiants sont pr??sents dans l'ensemble d??coup?? par des virgules
s - p.ex., ?? 123 ?? ou ?? 123,456 ??.
(Il ne devrait pas y avoir d'espace dans l'ensemble.)
De multiples num??ros d'ID de processus sont associ??s dans un seul ensemble par un OU binaire avant de participer ?? une s??lection par ET binaire des options.
-P
Cette option interdit la conversion de num??ros de port en noms de port pour les fichiers r??seau. D??sactiver la conversion peut acc??l??rer un peu
lsof. Elle est ??galement utile quand la recherche des noms d'h??tes ne fonctionne pas correctement.
+|-r [t]
Cette option place
lsof dans le mode de r??p??tition.
lsof liste alors les fichiers ouverts s??lectionn??s par d'autres options, attend
t secondes (quinze par d??faut), ensuite r??p??te le listage, attend et liste r??p??titivement jusqu'?? ce qu'il soit arr??t?? par une condition d??finie par le pr??fixe de l'option.
Si le pr??fixe est un `-', les mode de r??p??tition est ??ternel.
Lsof doit ??tre termin?? par un signal d'interruption ou d'arr??t.
Si le pr??fixe est `+', le mode de r??p??tition s'arr??tera au premier cycle o?? aucun fichier ouvert n'est list?? - et bien s??r quand
lsof est termin?? par un signal d'interruption ou d'arr??t. Lorsque le mode de r??p??tition s'arr??te parce qu'aucun fichier n'est list??, le code de sortie du processus sera z??ro s'il y a eu le moindre fichier ouvert rapport??, et un si aucun n'a ??t?? list??.
Lsof marque la fin de chaque listing : si la sortie de champs est en cours (l'option
-F a ??t?? sp??cifi??e), les marqueur est `m' ; sinon, le marqueur est ?? ======== ??. Le marqueur est suivi par un caract??re NL.
Le mode de r??p??tition r??duit la surcharge au d??marrage de
lsof , de sorte qu'il est plus efficace d'utiliser ce mode que d'appeler r??p??titivement
lsof ?? partir d'un script shell, par exemple.
Pour utiliser efficacement le mode de r??p??tition, accompagnez
+|-r par la sp??cification d'autres options de s??lection
lsof , afin que le nombre d'acc??s ?? la m??moire du noyau par
lsof reste ?? un minimum. Les options qui filtrent au niveau processus - p.ex.
-c , -g , -p , -u - sont les s??lecteurs les plus efficaces.
Le mode de r??p??tition est utile lorsqu'il est coupl?? avec la sortie en champs (voyez la description de l'option
-F ) et un script
awk ou
Perl de surveillance.
-R
Cette option indique ??
lsof de lister les num??ros d'identification des processus parents (Parent Process IDentification number, PPID) dans la colonne PPID.
-s
Cette option indique ??
lsof de toujours afficher la taille du fichier. Cela provoque le remplacement du titre de la colonne de sortie SIZE/OFF par SIZE. Si le fichier ne poss??de pas de taille, rien n'est affich??.
Les options
-o (sans nombre de chiffres d??cimaux ?? la suite) et
-s sont mutuellement exclusives ; elles ne peuvent ??tre sp??cifi??es en m??me temps. Quand aucune d'entre elles n'est sp??cifi??e,
lsof affiche la valeur - taille ou position - appropri??e et disponible pour le type du fichier.
Puisque certains types de fichiers ne poss??dent pas r??ellement de
taille - sockets, FIFOs, tubes, etc. - lsof affiche en lieu et place le total contenu dans les m??moires tampons du noyaux qui leur sont associ??es, si c'est possible.
-S [t]
Cette option sp??cifie une valeur de temporisation optionnelle pour les fonctions du noyau -
lstat(2) ,readlink(2) , et
stat(2) - qui pourraient sans cela conduire ?? un interblocage.
Le minimum pour
t est deux ; le d??faut, quinze ; quand aucune valeur n'est sp??cifi??e, le d??faut est utilis??.
Voyez la section
BLOCAGES ET TEMPORISATIONS pour plus d'informations.
-T [t]
Cette option contr??le le rapport d'information TCP/TPI, ??galement rapport??e par
netstat(1) , ?? la suite des adresses r??seau. Dans une sortie normale, l'information appara??t entre parenth??ses, chaque ??l??ment ?? l'exception de l'??tat est identifi?? par un mot-cl??, suivi par un ?? = ??, et s??par?? des autres par un simple espace :
<nom ??tat TCP ou TPI>
QR=<longueur queue lecture>
QS=<longueur queue ??mission>
WR=<longueur fen??tre de lecture> (pas tous
les dialectes)
WW=<longueur fen??tre d'??criture> (pas tous
les dialectes)
Quand le mode de sortie en champs a lieu (Voyez
SORTIE POUR D'AUTRES PROGRAMMES , chaque ??l??ment appara??t sous la forme d'un champ poss??dant un caract??re ?? T ?? en t??te, et le nom de l'??tat TCP ou TPI poss??de le pr??fixe ?? ST= ??.
-T sans caract??res de cl?? ?? la suite, d??sactive le rapport d'information TCP/TPI.
-T suivi de caract??res s??lectionne le rapport d'information TCP/TPI sp??cifique :
q s??lectionne un rapport sur la longueur
de la queue.
s s??lectionne un rapport sur l'??tat.
w s??lectionne un rapport sur la taille de
fen??tre (pas sur tous les dialectes).
L'??tat est rapport?? par d??faut. La sortie d'aide de
-h ou
-? pour l'option
-T indiquera si le rapport sur la taille de fen??tre peut ??tre requis.
Quand
-T est utilis?? pour s??lectionner de l'information - c.-??-d. s'il est
suivi d'un ou de plusieurs caract??res de s??lection - l'affichage de
l'??tat est d??sactiv?? par d??faut, et doit ??tre explicitement
res??lectionn?? en faisant partie des caract??res suivant
-T . (Le d??faut est ??quivalent ??
-Ts en termes d'effets.)
Par exemple, si les longueurs de queue et l'??tat sont d??sir??s, utilisez
-Tqs .
-t
Cette option sp??cifie que
lsof devrait produire une sortie laconique avec uniquement les identifiants de processus et aucun en-t??te - afin p.ex. que la sortie puisse ??tre envoy??e via un tube ??
kill(1) . Cette option s??lectionne l'option
-w.
-u s
Cette option s??lectionne le listing des fichiers pour les utilisateurs dont le nom ou ID d'utilisateur est pr??sent dans l'ensemble d??coup?? par des virgules
s - p.ex. ?? abe ??,
ou ?? 548,root ??.
(Il ne devrait pas y avoir d'espace dans l'ensemble.)
De multiples noms de connexion et num??ros d'ID utilisateur sont associ??s dans un seul ensemble par un OU binaire avant de participer ?? une s??lection par ET binaire des options.
Si un nom de connexion ou ID utilisateur est pr??c??d?? par un ?? ^ ??,
il devient une n??gation - c.-??-d. que les fichiers ou processus
appartenant au nom ou ?? l'ID ne seront jamais list??s.
Un nom de connexion ou un ID utilisateur ni?? n'est associ?? ni par un ET ni par un OU binaire avec d'autres s??lections ; il est appliqu?? avant toutes les autres s??lections et exclut formellement le listage des fichiers du processus. Par exemple, pour ordonner ??
lsof d'exclure le listage des fichiers appartenant aux processus de root, sp??cifiez ?? -u^root ?? ou ?? -u^0 ??.
-U
Cette option s??lectionne le listage des fichiers de sockets de domaine UNIX.
-v
Cette option s??lectionne le listage d'une information de version sur
lsof incluant : num??ro de r??vision ; date de construction ; identit??
du constructeur et endroit de construction ; nom du compilateur
utilis?? ; num??ro de version du compilateur si disponible ; options
du compilateur et du chargeur utilis??s pour construire le binaire
lsof ; et information sur le syst??me, typiquement la sortie de l'option
-a de
uname.
-V
Cette option ordonne ??
lsof d'indiquer les ??l??ments qu'on lui a demand?? de lister et qu'il n'a pas trouv??s - noms de commandes, noms de fichiers, adresses ou fichiers Internet, noms de connexion, fichiers NFS, PIDs, PGIDs et UIDs.
Quand d'autres options sont associ??es par un ET binaire ?? des options de recherche,
lsof peut ne pas rapporter qu'il n'a pas r??ussi ?? trouver un ??l??ment de
recherche quand une option associ??e avec un ET emp??che le listing du fichier ouvert contenant l'??l??ment de recherche localis??. Par exemple, ?? lsof -C
-iTCP@foobar -a -d 999 ?? peut ne pas rapporter un ??chec de
localisation de fichiers ouverts sur ?? TCP@foobar ??, et peut n'en
lister aucun, si aucun n'a un num??ro de descripteur de fichier de 999.
+|-w
Autorise (+) ou d??sactive (-) la suppression des messages d'avertissement.
Le constructeur de
lsof peut choisir de d??sactiver ou d'activer les messages d'avertissements par d??faut. Le statut des messages d'avertissement par d??faut est indiqu?? dans la sortie de l'option
-h ou
-? . D??sactiver les messages d'avertissement quand ils le sont d??j?? ou les activer quand ils sont d??j?? activ??s est acceptable.
L'option
-t s??lectionne l'option
-w.
-X
C'est une option sp??cifique au dialecte.
AIX:
ATTENTION : utiliser cette option sur un syst??me AIX charg?? peut provoquer une
panne tellement importante d'un processus d'application qu'il ne peut
ni ??tre tu??, ni ??tre arr??t??. Je n'ai jamais vu cela arriver cela ni
entendu des ??chos ?? ce sujet, mais je pense que la possibilit?? existe.
Cette option
-X IBM AIX RISC/System 6000 indique ??
lsof d'utiliser la fonction du noyau readx(). (Par d??faut, l'utilisation de
readx() est d??sactiv??e.) Sur AIX 5L et sup??rieur,
lsof peut n??cessiter une permission setuid-root pour effectuer les actions requises par cette option.
On peut sp??cifier lors de la construction de
lsof que l'option
-X doit ??tre limit??e aux processus dont l'UID r??el est root. Si cela a ??t?? fait, l'option
-X n'appara??tra pas dans la sortie d'aide
-h ou
-? ?? moins que l'UID r??el du processus
lsof ne soit root. La distribution
lsof par d??faut permet ?? n'importe quel UID de sp??cifier
-X, et elle appara??tra par cons??quent par d??faut dans la sortie d'aide.
Quand l'utilisation du readx() AIX est interdite,
lsof peut ne pas ??tre capable de rapporter de l'information sur toutes les r??f??rences de fichiers texte et de chargeur, mais il peut ??galement ??viter d'exacerber
une erreur noyau de recherche de r??pertoire du noyau AIX, connue sous
le nom de bogue d'ID de segment p??rim?? (Stale Segment ID Bug).
Quand readx() est activ??,
lsof essaiera de rapporter de l'information sur le fichier texte ex??cut??
par chaque processus, et sur les librairies partag??es qu'il utilise.
La fonction readx(), utilis??e par
lsof ou par tout autre programme, pour acc??der ?? certaines sections de la m??moire virtuelle du noyau, peut d??clencher le bogue d'ID de segment p??rim??. Elle peut faire croire erron??ment ?? la fonction dir_search() du noyau qu'une partie d'une copie en m??moire d'un r??pertoire syst??me de fichiers ??t?? z??ro-ifi??e. Un autre processus applicatif, distinct de
lsof , demandant au noyau de parcourir le r??pertoire - p.ex.en utilisant
open "(2) -" peut faire boucler dir_search() ??ternellement, bloquant ainsi le processus applicatif.
Consultez la FAQ de
lsof (La section FAQ vous donne son emplacement.) et le fichier
00README de la distribution de
lsof pour une description plus compl??te du bogue d'ID de segment p??rim??, de son
APAR, et des m??thodes pour d??finir l'utilisation de readx() lors de la
compilation de
lsof .
--
L'option constitu??e de deux signes moins est un marqueur qui signale la fin des options. Elle peut ??tre utilis??e, par exemple, quand le premier nom de fichier commence par un signe moins. Elle peut ??galement ??tre employ??e quand l'absence de valeur pour la derni??re option doit ??tre annonc??e par la pr??sence d'un signe moins dans l'option suivante et avant le d??but des noms de fichiers.
noms
Ce sont les noms de chemins des fichiers sp??cifiques ?? lister. Les liens symboliques sont r??solus avant utilisation. Le premier nom peut ??tre s??par?? des options pr??c??dentes avec l'option ?? -- ??.
Si un
nom est le r??pertoire de montage d'un syst??me de fichiers, ou le p??riph??rique du syst??me de fichiers,
lsof listera tous les fichiers ouverts sur le syst??me de fichiers. Pour
??tre consid??r?? repr??senter un syst??me de fichiers, le
nom doit correspondre ?? un r??pertoire mount-?? de la sortie de
mount(8) , ou correspondre au nom d'un p??riph??rique en mode bloc associ?? ?? un nom de r??pertoire mont??. L'option
+|-f peut ??tre utilis??e pour forcer
lsof pour consid??rer qu'un
nom est un identificateur de syst??me de fichiers (+f) ou un simple fichier (-f).
Si
nom est un chemin menant ?? un r??pertoire qui n'est pas le nom du
r??pertoire de montage d'un syst??me de fichiers, il est trait?? comme le
serait un fichier normal - c.-??-d. que son listage est restreint aux
processus qui l'ont ouvert en tant que fichier ou en tant que
r??pertoire sp??cifique ?? un processus, comme le r??pertoire racine ou le r??pertoire de travail actuel. Pour requ??rir que
lsof recherche des fichiers ouverts ?? l'int??rieur d'un nom de r??pertoire, utilisez les options
+d s et
+D D. Si un
nom est le nom de base d'une famille de fichiers multiplex??s - p.ex. les fichiers
/dev/pt[cs] " -" AIX,
lsof listera tous les fichiers multiplex??s associ??s qui sont ouverts sur le p??riph??rique - p.ex.
/dev/pt[cs]/1 , /dev/pt[cs]/2 , etc.
Si un
nom est un nom de socket de domaine UNIX,
lsof le recherchera seulement gr??ce aux caract??res du nom - exactement comme il est sp??cifi?? et enregistr?? dans la structure de socket du noyau. Sp??cifier un chemin relatif - p.ex.
./fichier - au lieu du chemin absolu du fichier - p.ex.
/tmp/fichier - ne fonctionnera pas car
lsof doit faire correspondre les caract??res que vous sp??cifiez avec ceux qu'il trouve dans les structures des sockets de domaine UNIX du noyau.
Si un
nom n'est pas d'un des types repris plus haut,
lsof listera les fichiers ouverts dont les p??riph??rique et i-noeud correspondent ?? celui du
nom de chemin sp??cifi??.
Si vous avez ??galement sp??cifi?? l'option
-b, les seuls
noms que vous pouvez sp??cifier sans risque sont les syst??mes de fichiers pour lesquels votre table de montage fournit des num??ros de p??riph??riques alternatifs. Voyez les sections
??VITER LES BLOCAGES DU NOYAU et
NUM??ROS DE P??RIPH??RIQUES ALTERNATIFS pour plus d'informations.
De multiples noms de fichiers sont associ??es dans un seul ensemble par un OU binaire avant de participer ?? une s??lection par ET binaire des options.
AFS
Lsof supporte la reconnaissance des fichiers AFS pour les dialectes (et versions AFS) suivants :
AIX 4.1.4 (AFS 3.4a)
HP-UX 9.0.5 (AFS 3.4a)
Linux 1.2.13 (AFS 3.3)
Solaris 2.[56] (AFS 3.4a)
Il peut reconna??tre les fichiers AFS sur d'autres versions de ces dialectes, mais cela n'a pas ??t?? test??. En fonction de la fa??on dont AFS est impl??ment??,
lsof peut reconna??tre les fichiers AFS dans d'autres dialectes, ou avoir des difficult??s ?? reconna??tre les fichiers AFS dans les dialectes support??s.
Lsof peut avoir du mal ?? identifier tous les aspects des fichiers AFS dans les dialectes support??s quand le support noyau de l'AFS est impl??ment?? via des modules dynamiques dont les adresses n'apparaissent pas dans la liste des noms de variables du noyau. Dans ce cas,
lsof pourrait ??tre dans l'obligation de deviner l'identit?? des fichiers AFS, et ne pas ??tre capable d'obtenir depuis le noyau l'information de volume qui est n??cessaire pour le calcul des num??ros de noeuds de volumes AFS. Quand
lsof ne peut calculer les num??ros de noeuds de volume, il rapporte un blanc dans la colonne NODE (noeud).
L'option
-A A est disponible sur certaines impl??mentations de dialectes de
lsof pour sp??cifier le fichier de liste de noms o?? l'on peut trouver les adresses noyau des modules dynamiques. Quand cette option est disponible, elle sera list??e dans la sortie d'aide de
lsof , pr??sent??e en r??ponse au
-h ou au
-?
Voyez la FAQ
lsof (La section FAQ vous donne son emplacement) pour obtenir plus d'informations sur les modules dynamiques, leurs symboles, et la fa??on dont ils affectent les options de
lsof.
Puisque les recherches de chemin AFS ne semblent pas contribuer aux op??rations du cache de noms du noyau,
lsof ne peut identifier les composants du nom de chemin pour les fichiers AFS.
S??CURIT??
Lsof dispose de trois fonctionnalit??s qui peuvent g??n??rer des probl??mes de s??curit??. Primo, son mode de compilation par d??faut permet ?? n'importe qui de l'utiliser pour lister tous les fichiers ouverts. Secundo, il cr??e par d??faut un fichier de cache de p??riph??rique accessible ?? la fois en lecture et en ??criture pour un utilisateur dans le r??pertoire personnel de l'UID r??el qui ex??cute
lsof . (Les fonctionnalit??s de listage de tous les fichiers ouverts et de cache des p??riph??riques peuvent ??tre d??sactiv??es lors de la compilation de
lsof ). Tertio, ses options
-k et
-m nomment des listes de noms du noyau ou des fichiers m??moire alternatifs.
Le restriction sur le listage des fichiers ouverts est contr??l??e par l'option de compilation HASSECURITY. Quand HASSECURITY est d??finie,
lsof ne permettra qu'au seul root de lister tous les fichiers ouverts. L'utilisateur non root ne peut lister que les fichiers ouverts par les processus poss??dant le m??me num??ro d'IDentification d'utilisateur que celui du num??ro d'ID d'utilisateur du processus
lsof (celui avec lequel l'utilisateur s'est connect??). Quand HASSECURITY n'est pas d??finie, n'importe qui peut lister tous les fichiers ouverts.
La sortie d'aide, pr??sent??e en r??ponse ?? l'option
-h ou
-? , fournit l'??tat de d??finition de la macro HASSECURITY.
Voyez la section
Security du fichier
0README de la distribution de
lsof pour savoir comment construire
lsof en activant l'option HASSECURITY.
La cr??ation et l'utilisation d'un fichier de cache de p??riph??riques accessible ?? la fois en lecture et en ??criture par un utilisateur sont contr??l??es par l'option de compilation HASDCACHE. Voyez la section
FICHIER DE CACHE DE P??RIPH??RIQUE et suivantes pour conna??tre les d??tails de la formation du chemin. Pour des considerations de s??curit??, il est important de noter que dans la distribution par d??faut de
lsof , si l'ID d'utilisateur r??el sous lequel
lsof est ex??cut?? est root, le fichier de cache de p??riph??rique sera ??crit dans le r??pertoire personnel de root - c.-??-d.
/ ou
/root . Quand HASDCACHE n'est pas d??finie,
lsof n'essaie ni d'??crire ni de lire un fichier de cache de p??riph??rique.
Quand HASDCACHE est d??finie, la sortie d'aide de
lsof , pr??sent??e en r??ponse aux options
-h , -D? , ou
-? , fournira de l'information sur le traitement des fichiers de cache de p??riph??rique. Quand HASDCACHE n'est pas d??finie, la sortie de
-h ou de
-? ne pr??sentera pas la description de l'option
-D.
Avant que vous ne d??cidiez de d??sactiver la fonctionnalit?? des fichiers de cache de p??riph??rique - l'autoriser am??liore la performance de
lsof en r??duisant la surcharge au d??marrage induite par l'examen de tous les noeuds de
/dev (ou
/devices) - lisez la discussion ?? ce sujet dans le fichier
00DCACHE de la distribution de
lsof et la FAQ
lsof (La section FAQ vous donne son emplacement.)
EN CAS DE DOUTE, VOUS POUVEZ D??SACTIVER TEMPORAIREMENT L'UTILISATION DU FICHIER DE CACHE DE P??RIPH??RIQUES AVEC L'OPTION
-Di.
Quand l'utilisateur de
lsof d??clare des listes de noms du noyau ou des fichiers m??moire alternatifs avec les options
-k et
-m ,
lsof v??rifie que l'utilisateur ?? l'autorisation de les lire avec
access(2) . C'est destin?? ?? ??viter les pouvoirs sp??ciaux que les modes de
lsof pourraient lui conf??rer en lui laissant lire des fichiers normalement non accessibles d'apr??s les droits de l'ID de l'utilisateur r??el.
SORTIE
Cette section d??crit l'information que liste
lsof pour chaque fichier ouvert. Voyez la section
SORTIE POUR D'AUTRES PROGRAMMES pour plus d'informations sur la sortie pouvant ??tre trait??e par un autre programme.
Lsof ne produit que des caract??res ASCII imprimables (consid??r??s comme tels par
isprint(3) ). Les caract??res non imprimables sont affich??s dans l'une des trois formes suivantes : la forme C ?? \[bfrnt] ?? ; la forme caract??re de contr??le ?? ^ ?? (p.ex. ?? ^@ ??) ; ou la forme hexad??cimale avec un ?? \x ?? de t??te (p.ex. ?? \xab ??). L'espace est non imprimable dans la colonne COMMAND (?? \x20 ??) et imprimable ailleurs.
Lsof dimensionne dynamiquement les colonnes de sortie ?? chaque fois qu'il est ex??cut??, en garantissant que chaque colonne ait une taille minimale. Il garantit aussi que chaque colonne est s??par??e de la pr??c??dente par au moins une espace.
COMMAND
contient les neuf premiers caract??res du nom de la commande UNIX associ??e au processus.
Tous les caract??res de nom de commandes conserv??s par le noyau dans ses structures sont affich??s dans la sortie en champs quand le descripteur de nom de commande (?? c ??) est sp??cifi??. Voyez la section
SORTIE POUR D'AUTRES PROGRAMMES pour plus d'informations sur la s??lection des champs de sortie et sur le descripteur du nom de commande associ??.
PID
est le num??ro d'IDentification de Processus du processus.
PPID
est le num??ro d'IDentification du Processus Parent du processus. Il n'est affich?? que lorsque l'option
-R a ??t?? sp??cifi??e.
PGID
est le num??ro d'IDentification de Groupe de Processus associ?? au processus. Il n'est affich?? que lorsque l'option
-g a ??t?? sp??cifi??e.
USER
est le num??ro d'ID d'utilisateur ou le nom de connexion de l'utilisateur ?? qui appartient le processus, habituellement le m??me que celui rapport?? par
ps(1) . N??anmoins, sous Linux, USER est le num??ro d'ID ou le nom de connexion de l'utilisateur qui d??tient le r??pertoire /proc o??
lsof trouve de l'information sur le processus. Habituellement, c'est la m??me valeur que celle rapport??e par
ps(1) , mais elle peut diff??rer quand le processus a chang?? de UID effectif. (Voyez la description de l'option
-l pour obtenir de l'information sur le moment o?? un num??ro UID ou un nom de connexion est affich??.)
FD
est le num??ro de Descripteur de Fichier du fichier ou :
cwd r??pertoire de travail actuel ;
Lnn r??f??rences de librairie (AIX) ;
jld r??pertoire ?? prison ?? (FreeBSD) ;
ltx texte de librairie partag??e (code et donn??es) ;
Mxx HEX MEMORY-MAPPED TYPE NUMBER xx.
m86 DOS MERGE MAPPED FILE ;
mem fichier projet?? en m??moire ;
mmap p??riph??rique projet?? en m??moire ;
pd r??pertoire parent ;
rtd r??pertoire racine ;
txt texte du programme (code et donn??es) ;
v86 VP/ix MAPPED FILE ;
FD est suivi par l'un de ces caract??res, d??crivant le mode selon lequel le fichier est ouvert :
r pour un acc??s en lecture ;
w pour un acc??s en ??criture ;
u pour un acc??s en lecture et
en ??criture ;
espace si mode inconnu et si aucun
caract??re de verrouillage ne suit ;
?? - ?? si mode inconnu et caract??re
de verrouillage ?? la suite.
Le caract??re de mode est suivi par l'un de ces caract??res de verrouillage, d??crivant le type de verrou appliqu?? au fichier :
N pour un verrou Solaris NFS de type
inconnu ;
r pour un verrou en lecture sur une partie
du fichier ;
R pour un verrou en lecture sur le fichier
entier ;
w pour un verrou en ??criture sur une
partie du fichier ;
W pour un verrou en ??criture sur le
fichier entier ;
u pour un verrou en lecture et ??criture
de n'importe quelle longueur ;
U pour un verrou de type inconnu ;
x pour un verrou Xenix SCO OpenServer sur
une partie du fichier ;
X pour un verrou Xenix SCO OpenServer sur
le fichier entier ;
espace s'il n'y a pas de verrou.
Voyez la section
VERROUS pour plus d'informations sur le caract??re d'information de verrouillage.
Le contenu de la colonne FD constitue un champ unique pour l'analyse syntaxique dans les scripts de post-traitement.
TYPE
est le type de noeud associ?? au fichier - p.ex. GDIR, GREG, VDIR, VREG, etc.
ou ?? IPv4 ?? pour un socket IPv4 ;
ou ?? IPv6 ?? pour un fichier r??seau IPv6 ouvert - m??me si son adresse est de type IPv4, convertie en une adresse IPv6 ;
ou ?? ax25 ?? pour un socket Linux AX.25 ;
ou ?? inet ?? pour un socket de domaine Internet ;
ou ?? lla ?? pour un fichier d'acc??s HP-UX de niveau lien ;
ou ?? rte ?? pour un socket AF_ROUTE ;
ou ?? sock ?? pour un socket de domaine inconnu ;
ou ?? unix ?? pour un socket de domaine UNIX ;
ou ?? x.25 ?? pour un socket x.25 HP-UX ;
ou ?? BLK ?? pour un fichier sp??cial en mode bloc ;
ou ?? CHR ?? pour un fichier sp??cial en mode caract??re ;
ou ?? DEL ?? pour un LINUX MAP FILE qui a ??t?? effac?? ;
ou ?? DIR ?? pour un r??pertoire ;
ou ?? DOOR ?? pour un fichier VDOOR ;
ou ?? FIFO ?? pour un fichier sp??cial de type FIFO ;
ou ?? LINK ?? pour un fichier lien symbolique ;
ou ?? MPB ?? pour un fichier multiplex?? en mode bloc ;
ou ?? MPC ?? pour un fichier multiplex?? en mode caract??re ;
ou ?? PAS ?? pour un fichier
/proc/as ;
ou ?? PAXV ?? pour un fichier
/proc/auxv ;
ou ?? PCRE ?? pour un fichier
/proc/cred ;
ou ?? PCTL ?? pour un fichier de contr??le de
/proc ;
ou ?? PCUR ?? pour le processus courant de
/proc ; ou ?? PCWD ?? pour un r??pertoire de travail courant de
/proc ;
ou ?? PDIR ?? pour un r??pertoire
/proc ;
ou ?? PETY ?? pour un type ex??cutable de
/proc (etype) ;
ou ?? PFD ?? pour un descripteur de fichier de
/proc ;
ou ?? PFDR ?? pour un r??pertoire de descripteurs de fichiers de
/proc ;
ou ?? PFIL ?? pour un fichier ex??cutable de
/proc ;
ou ?? PFPR ?? pour un jeu de registres FP de
/proc ;
ou ?? PGD ?? pour un fichier
/proc/pagedata ;
ou ?? PGID ?? pour un fichier notifieur de groupe de
/proc ;
ou ?? PIPE ?? pour les tubes ;
ou ?? PLC ?? pour un fichier
/proc/lwpctl ;
ou ?? PLDR ?? pour un r??pertoire
/proc/lpw ;
ou ?? PLDT ?? pour un fichier
/proc/ldt ;
ou ?? PLPI ?? pour un fichier
/proc/lpsinfo ;
ou ?? PLST ?? pour un fichier
/proc/lstatus ;
ou ?? PLU ?? pour un fichier
/proc/lusage ;
ou ?? PLWG ?? pour un fichier
/proc/gwindows ;
ou ?? PLWI ?? pour un fichier
/proc/lwpsinfo ;
ou ?? PLWS ?? pour un fichier
/proc/lwpstatus ;
ou ?? PLWU ?? pour un fichier
/proc/lwpusage ;
ou ?? PLWX ?? pour un fichier
/proc/xregs ;
ou ?? PMAP ?? pour un MAP FILE de
/proc (map) ;
ou ?? PMEM ?? pour un fichier d'image m??moire de
/proc ;
ou ?? PNTF ?? pour un fichier notifieur de processus de
/proc ;
ou ?? POBJ ?? pour un fichier
/proc/object ;
ou ?? PODR ?? pour un r??pertoire
/proc/object ;
ou ?? POLP ?? pour un fichier de processus l??ger de
/proc dans l'ancien format ;
ou ?? POPF ?? pour un fichier de PID de
/proc dans l'ancien format ;
ou ?? POPG ?? pour un
/proc PAGE DATA FILE dans l'ancien format ;
ou ?? PORT ?? pour un tube nomm?? SYSV ;
ou ?? PREG ?? pour un fichier d'enregistrement ??
/proc ; ou ?? PRMP ?? pour un fichier
/proc/rmap ;
ou ?? PRTD ?? pour un r??pertoire racine de
/proc ;
ou ?? PSGA ?? pour un fichier
/proc/sigact ;
ou ?? PSIN ?? pour un fichier
/proc/psinfo ;
ou ?? PSTA ?? pour un fichier de statut de
/proc ;
ou ?? PUSG ?? pour un fichier
/proc/usage ;
ou ?? PW ?? pour un fichier
/proc/watch ;
ou ?? PXMP ?? pour un fichier
/proc/xmap ; ou ?? REG ?? pour un fichier r??gulier (normal) ;
ou ?? SMT ?? pour un fichier de transport de m??moire partag??e ;
ou ?? STSO ?? pour un socket de flux ;
ou ?? UNNM ?? pour un fichier de type anonyme ;
ou ?? XNAM ?? pour un fichier sp??cial Xenix OpenServer de type inconnu ;
ou ?? XSEM ?? pour un fichier s??maphore Xenix OpenServer ;
ou ?? XSD ?? pour un fichier de donn??es partag??es Xenix OpenServer.
FILE-ADDR
contient l'adresse de la structure de fichier du noyau quand
f a ??t?? sp??cifi?? ??
+f ;
FCT
contient le nombre de r??f??rences de fichiers ?? partir de la structure de fichier du noyau quand
c a ??t?? sp??cifi?? ??
+f ;
FILE-FLAG
quand
g ou
G a ??t?? sp??cifi?? ??
+f , ce champ contient le contenu du (des) membre(s) f_flag[s] de la structure de fichier du noyau et les attributs des fichiers ouverts par processus du noyau (s'ils sont disponibles) ;
?? G ?? provoque leur affichage en hexad??cimal ;
?? g ??, comme diminutifs ;
deux listes peuvent ??tre affich??es, les entr??es ??tant s??par??es par des virgules, les listes ??tant s??par??es par un point-virgule (?? ; ??) ; la premi??re liste peut contenir des diminutifs pour les valeurs de f_flag[s] de la table suivante :
AIO E/S asynchrone (p.ex. FAIO)
AP concat??nation
ASYN E/S asynchrone (p.ex. FASYNC)
BAS BLOCK, TEST, AND SET IN USE
BKIU BLOCK IF IN USE
BL utiliser les d??calages de blocs
BSK recherche de bloc
CA ??vitement de copie
CLON clone
CLRD CL READ
CR cr??er
DF diff??rer
DFI diff??rer IND
DFLU vidage de donn??es
DIR DIRECTz(quelle traduction?)
DLY d??lai
DOCL cr??er un clone
DSYN int??grit?? des donn??es uniquement
EX ouverture pour exec
EXCL ouverture exclusive
FSYN ??critures synchrones
GCDF diff??rer pendant unp_gc() (AIX)
GCMK marquer pendant unp_gc() (AIX)
GTTY acc??d?? via /dev/tty
HUP HUP en cours
KERN noyau
KIOC ioctl ??mis du noyau
LCK poss??de un verrou
LG gros fichier
MBLK bloc de message de flux
MK marqu??
MNT mont??
MSYN synchronisation multiplex??e
NB E/S non bloquantes
NBDR pas de contr??le BDRM
NBIO E/S SYSV non bloquantes
NBF n-buffering en cours
NC pas de cache
ND pas de d??lai
NDSY pas de synchronisation des donn??es
NET r??seau
NMFS syst??me de fichiers NM
NOTO DISABLE BACKGROUND STOP
NSH aucun partage
NTTY aucun TTY de contr??le
OLRM miroir OLR
PAIO E/S POSIX asynchrones
PP tube POSIX
R READ
RAIO requ??te RAIO sur Reliant UNIX
RC cache de verrouillage de fichier et d'enregistrement
REV r??voqu??
RSH lecture partag??e
RSYN synchronisation en lecture
SL verrou partag??
SOCK socket
SQSH Sequent SHARED SET ON OPEN(Sequent:type de machine non?)
SQSV Sequent SVM SET ON OPEN
SQR Sequent SET REPAIR ON OPEN
SQS1 Sequent FULL SHARED OPEN
SQS2 Sequent PARTIAL SHARED OPEN
STPI arr??ter les E/S
SWR SYNCHROUNOUS READ (rem:??a serait pas ??criture plut??t? Synchro WRite)
SYN int??grit?? du fichier lors de l'??criture
TCPM ??viter les collision TCP
TR tronquer
W ??crire
WKUP synchronisation I/O parall??les
WTG synchronisation I/O parall??les
VH vhangup en attente
VTXT texte virtuel
XL verrou exclusif
cette liste de noms a ??t?? d??riv??e des #define F* dans les fichiers d'en-t??te de dialecte <fcntl.h>, <linux</fs.h>, sys/fcntl.c>, <sys/fcntlcom.h> et <sys/file.h> ; voyez le fichier d'en-t??te lsof.h pour une liste des correspondances entre les diminutifs ci-dessus et les d??finitions du fichier d'en-t??te ;
la seconde liste (apr??s le point-virgule) peut contenir des diminutifs ci-dessus pour les attributs des fichiers ouverts par processus du noyau en provenance de cette table :
ALLC allou??
BR le fichier a ??t?? lu
BHUP activit?? stopp??e par SIGHUP
BW le fichier a ??t?? ??crit
CLSG fermeture
CX close-on-exec (voir fcntl(F_SETFD))
MP projet?? en m??moire
LCK verrou appliqu??
RSVW attente r??serv??e
SHMT ensemble UF_FSHMAT (AIX)
USE en cours d'utilisation (multi-thread??)
NODE-ID
(ou INODE-ADDR dans certains dialectes) contient un identificateur unique pour le noeud du fichier (habituellement l'adresse d'i-noeud ou de v-noeud du noyau, mais parfois ??galement une concat??nation du p??riph??rique et du num??ro de noeud) quand
n a ??t?? sp??cifi?? ??
+f ;
DEVICE
contient les num??ros de p??riph??riques, s??par??s par des virgules, pour un fichier sp??cial en mode caract??re, en mode bloc, pour un fichier r??gulier, un r??pertoire ou un fichier NFS ;
ou ?? memory ?? pour un noeud de syst??me fichier m??moire sous DEC OSF/1, Digital UNIX ou Tru64 UNIX;
ou l'adresse de la zone de donn??es priv??es d'un flux de socket Solaris ;
ou une adresse de r??f??rence dans le noyau qui identifie le fichier (l'adresse de r??f??rence dans le noyau peut ??tre utilis??e pour les FIFOs, par exemple.);
ou
l'adresse de base ou le nom de p??riph??rique d'un p??riph??rique de socket Linux AX.25.
Habituellement, seuls les 32 bits de poids faible des adresses noyau DEC OSF/1, Digital UNIX ou Tru64 UNIX sont affich??s.
SIZE, SIZE/OFF, or OFFSET
est la taille du fichier ou la position dans le fichier en octets. Une valeur n'est affich??e dans cette colonne que si elle est disponible.
Lsof affiche la valeur - taille ou position - qui est appropri??e et disponible pour le type du fichier et la version de
lsof . Sous certains dialectes UNIX,
lsof ne peut obtenir d'information de position dans le fichier pr??cise ou logique ?? partir des sources de donn??es du noyau, parfois seulement pour certains types sp??ciaux de fichiers (p.ex. les fichiers de socket). Dans d'autres cas, les fichiers ne poss??dent pas de taille r??elle - p.ex. les sockets, FIFOs, tubes - de ce fait,
lsof affiche au lieu de leur taille le total contenu trouv?? dans leurs descripteurs de tampon dans le noyau (p.ex. SOCKET BUFFER SIZE COUNTS ou tailles de fen??tre TCP/IP.) Consultez la FAQ
lsof (La section FAQ vous donne son emplacement.) pour plus d'informations.
La taille de fichier est affich??e en d??cimal ; la position est normalement affich??e en d??cimal avec un ?? 0t ?? de t??te s'il contient 8 chiffres ou moins ; en hexad??cimal avec un ?? 0x ?? de t??te s'il est plus long que 8 chiffres. (Consultez la description de l'option
-o o pour savoir si 8 est bien la valeur par d??faut.)
Par cons??quent, les ?? 0t ?? et ?? 0x ?? de t??te identifient une position quand la colonne peut contenir ?? la fois une taille et une position (c.-??-d. lorsque son titre est SIZE/OFF).
Si l'option
-o est sp??cifi??e,
lsof affiche toujours la position dans le fichier (ou rien du tout si aucune position n'est disponible) et nomme la colonne OFFSET. La position commence toujours par ?? 0t ?? ou ?? 0x ?? comme d??crit plus haut.
L'utilisateur de
lsof peut contr??ler le passage de ?? 0t ?? en ?? 0x ?? avec l'option
-o o. Consultez sa description pour plus d'informations.
Si l'option
-s est sp??cifi??e,
lsof affiche toujours la taille du fichier (ou rien du tout si aucune taille n'est disponible) et nomme la colonne SIZE. Les options
-o et
-s sont mutuellement exclusives ; elles ne peuvent ??tre sp??cifi??es en m??me temps.
Pour les fichiers qui n'ont pas une taille fixe - p.ex. qui ne r??sident pas sur un p??riph??rique de disque -
lsof affichera une information appropri??e sur la taille courante ou la position du fichier si elle est disponible dans les structures du noyau qui d??finissent le fichier.
NODE
est le num??ro de noeud d'un fichier local ;
ou le num??ro d'i-noeud d'un fichier NFS sur l'h??te serveur ;
ou le type de protocole Internet - p.ex. ?? TCP ?? ;
ou ?? STR ?? pour un flux ;
ou ?? CCITT ?? pour un socket HP-UX x.25 ;
ou l'IRQ ou le num??ro d'i-noeud pour un p??riph??rique socket Linux AX.25.
NAME
est le nom du point de montage et du syst??me de fichiers sur lequel r??side le fichier ;
ou le nom d'un fichier sp??cifi?? dans l'option
noms (apr??s que tous les liens symboliques aient ??t?? r??solus) ;
ou le nom d'un p??riph??rique sp??cial en mode caract??re ou bloc ;
ou les adresses Internet locale et distante d'un fichier r??seau ; le nom d'h??te local ou adresse IP est suivi par un signe deux-points (?? : ??), le port, ?? -> ??, et l'adresse distante en deux parties ; les adresses IP peuvent ??tre rapport??es sous forme d??cimale point??e ou en tant que noms, en fonction des options
+|-M , -n et
-P ; les num??ros IPv6 s??par??s par des deux-points sont enferm??s entre crochets ; les adresses IPv4 INADDR_ANY et IPv6 IN6_IS_ADDR_UNSPECIFIED, et le num??ro de port nul (z??ro) sont repr??sent??s par une ast??risque (?? * ??) ; une adresse destination UDP peut ??tre suivie par la dur??e ??coul??e depuis que le dernier paquet a ??t?? envoy?? ?? la destination ; les adresses distantes TCP et UDP peuvent ??tre suivies par de l'information TCP/TPI entre parenth??ses - ??tat (p.ex. ?? (ESTABLISHED) ??, ?? (Unbound) ??), tailles de queue, et tailles de fen??tre (pas sur tous les dialectes) - d'une mani??re similaire ?? celle que rapporte
netstat(1) ; voyez la description de l'option
-T ou la description du champ TCP/TPI dans
SORTIE POUR D'AUTRES PROGRAMMES pour en savoir plus sur l'??tat, la taille de queue, et la taille de fen??tre ;
ou l'adresse ou nom d'un socket de domaine UNIX, incluant ??ventuellement un nom de p??riph??rique clone de flux, un nom de chemin d'un objet du syst??me de fichiers, des adresses noyau locales et distantes, SOCKET PAIR INFORMATION, et A BOUND VNODE ADDRESS ;
ou les noms des points de montage locaux et distants d'un fichier NFS ;
ou ?? STR ??, suivi par le nom du flux ;
ou un STREAM CHARACTER DEVICE NAME, suivi par ?? -> ?? et le nom du flux ;
ou ?? STR: ?? suivi par le p??riph??rique de flux SCO OpenServer et le nom des modules, s??par??s par ?? -> ??;
ou un nom de r??pertoire syst??me, ?? -- ??, et autant de composants du nom de chemin que peut en trouver
lsof dans le cache de noms du noyau pour les dialectes s??lectionn??s (Voyez la section
CACHE DE NOMS DU NOYAU pour plus d'informations.) ;
ou ?? PIPE-> ??, suivi par une adresse de destination d'un tube noyau Solaris ;
ou ?? COMMON: ??, suivi par le nom de p??riph??rique de la structure d'information sur le p??riph??rique du v-noeud, pour un v-noeud Solaris ordinaire ;
ou la famille d'adresses, suivie par un slash (?? / ??), suivie par 14 octets s??par??s par des virgules d'une adresse de socket non-internet en mode brut ;
ou l'adresse locale HP-UX x.25, suivie par le num??ro de connexion virtuelle (s'il y en a), suivi par l'adresse distante (s'il y en a une) ;
ou ?? (dead) ?? pour des fichiers dissoci??s OSF/1, Digital UNIX ou Tru64 UNIX - typiquement les fichiers de terminaux qui ont ??t?? marqu??s par ioctl TIOCNOTTY et ferm??s par des d??mons ;
ou ?? rd=<offset> ?? et ?? wr=<offset> ?? pour les valeurs des positions de lecture et d'??criture d'une FIFO ;
ou ?? clone n:/dev/event ?? pour les clones de fichiers SCO OpenServer du p??riph??rique
/dev/event , o??
n est le num??ro mineur de p??riph??rique du fichier ;
ou ?? (socketpair: n) ?? pour un socket Solaris 2.6, 7, 8 BETA ou 8 BETA-Refresh de domaine UNIW, cr???? par la fonction r??seau
socketpair (3N) ; ou ?? no PCB ?? pour les fichiers socket qui n'ont pas de bloc protocole associ??, ??ventuellement suivi par ?? , CANTSENDMORE ?? (ne peut plus rien envoyer) si l'envoi sur le socket a ??t?? d??sactiv??, ou ?? , CANTRCVMORE ?? (ne peut plus rien recevoir) si la r??ception en provenance du socket a ??t?? d??sactiv??e (p.ex. par la fonction
shutdown(2) ) ;
ou les adresses locale et distante d'un fichier socket IPX Linux de la forme <net>:[<noeud>:]<port>, suivi entre parenth??ses par les tailles des queues de transmission et de r??ception, et l'??tat de la connexion ;
ou ?? dgram ?? ou ?? stream ?? pour les sockets de domaine Unix du noyau du type UnixWare 7.1.1 et sup??rieur, suivi par un signe deux-points (?? : ??) et le nom de chemin local quand il est disponible, suivi par ?? -> ?? et le nom de chemin distant ou l'adresse noyau du socket en hexad??cimal lorsque c'est disponible.
Pour les dialectes qui supportent un syst??me de fichiers ?? namefs ??, permettant ?? un fichier d'??tre attach?? ?? un autre avec
fattach (3C), lsof ajoutera ?? (FA:<adresse1><direction><adresse2>) ?? dans la colonne NAME. <adresse1> et <adresse2> sont des adresses de v-noeuds hexad??cimales. <direction> sera ?? <- ?? si <adresse2> a ??t?? fattach-??e ?? ce v-noeud dont l'adresse est <adresse1> ; et ?? -> ?? si <adresse1>, l'adresse de v-noeud de ce v-noeud, a ??t?? fattach-??e ?? <adresse2>. <adresse1> peut ??tre omise si elle appara??t d??j?? dans la colonne DEVICE.
VERROUS
Lsof ne peux rapporter ad??quatement la large vari??t?? des verrous de fichier des dialectes UNIX en un seul caract??re. Ce qu'il rapporte en un seul caract??re est un compromis entre l'information qu'il extrait du noyau et les limitations du format de rapport.
Qui plus est, quand un processus d??tient plusieurs verrous au niveau octet sur un fichier,
lsof ne rapporte que le statut du premier verrou rencontr??. S'il s'agit d'un verrou au niveau octet, alors le caract??re de verrouillage sera rapport?? en minuscule - c.-??-d. ?? r ??, ?? w ?? ou ?? x ?? - plut??t que la majuscule ??quivalente rapport??e pour un verrou de fichier entier.
G??n??ralement,
lsof ne peux rapporter que les verrous d??tenus par des processus locaux sur des fichiers locaux. Quand un processus local pose un verrou sur un fichier mont?? ?? distance (p.ex. via NFS), l'h??te serveur distant enregistre habituellement l'??tat du verrou. Solaris forme une exception - pour certains niveaux de patch des version 2.3, et dans toutes les version sup??rieures ?? 2.4, le noyau Solaris enregistre de l'information sur les verrous distants dans des structures locales.
Lsof a du mal ?? rapporter les verrous pour certains dialectes UNIX. Consultez la section
BOGUES de cette page de manuel ou la FAQ
lsof (La section FAQ vous donne son emplacement.) pour plus d'informations.
SORTIE POUR D'AUTRES PROGRAMMES
Quand l'option
-F est sp??cifi??e,
lsof produit une sortie qui convient au traitement par un autre programme - p.ex. un script
awk ou
Perl.
Chaque unit?? d'information est produite en sortie dans un champ qui est identifi?? par un caract??re de t??te et qui est termin?? par un NL (012) (ou un NUL (000) si le caract??re identificateur de champ 0 (z??ro) est sp??cifi??.) Les donn??es du champ suivent imm??diatement le caract??res d'identification de champ et s'??tendent jusqu'au terminateur de champ.
Il est possible de se repr??senter la sortie en champs comme des ensembles de processus et de fichiers. Un ensemble de processus commence par un champ dont l'identificateur est ?? p ?? (pour IDentificateur de processus)). Il s'??tend jusqu'au commencement du champ de PID suivant ou jusqu'au d??but du premier ensemble de fichiers du processus, celui qui vient en premier. Sont ??galement inclus dans l'ensemble de fichiers : les champs qui identifient la commande, le num??ro d'IDentification de Groupe de Processus (PGID), et le num??ro d'ID d'utilisateur (UID) ou nom de connexion.
Un ensemble de fichiers commence par un champ dont l'identificateur est ?? f ?? (pour descripteur de fichier). Il est suivi de lignes d??crivant les modes d'acc??s, ??tat de verrouillage, type, p??riph??rique, taille, offset, i-noeud, protocole et nom du fichier, et les noms des modules de flux. Il s'??tend jusqu'au d??but de l'ensemble de fichiers ou de processus suivant, ?? savoir celui vient en premier.
Quand le terminateur de champ NUL (000) a ??t?? s??lectionn?? avec le caract??re identificateur de champ 0 (z??ro),
lsof termine chaque ensemble de processus et de fichiers par un caract??re NL (012).
Lsof produit toujours un champ, le champ PID (?? p ??). Tous les autres champs peuvent ??tre d??clar??s facultativement dans la liste de caract??res identificateurs de champ qui suit l'option
-F. Quand un caract??re de s??lection de champ identifie un ??l??ment que ne liste normalement pas
lsof - p.ex. le PPID, s??lectionn?? avec la sp??cification
-R " -" de caract??re de champ - p.ex. ?? -FR ?? - s??lectionne ??galement le listage de l'??l??ment.
Il est parfaitement possible de s??lectionner un groupe de champs qui ne peuvent ais??ment ??tre analys?? - p.ex. si le champ de descripteur de champ n'est pas s??lectionn??, il peut ??tre difficile d'identifier les ensembles de fichiers. Pour vous aider ?? ??viter cet obstacle,
lsof supporte l'option
-F ; elle s??lectionne la sortie de tous les champs de terminateur NL (le couple d'options
-F0 s??lectionne la sortie de tous les champs de terminateur NUL). Pour des raisons de compatibilit??, ni
-F ni
-F0 ne s??lectionnent le champ raw device.
Voici les champs que produira
lsof. Le caract??re unique list?? en premier lieu est l'identificateur de champ.
a mode d'acc??s du fichier
c nom de commande du processus (tous les caract??res provenant de
proc ou d'une structure utilisateur)
C nombre de partages de la structure fichier
d code de caract??re du p??riph??rique du fichier
D num??ro de p??riph??rique majeur/mineur (0x<hexad??cimal>)
f descripteur du fichier
F adresse de la structure fichier (0x<hexad??cimal>)
G attributs du fichier (0x<hexad??cimal> ; NAMES(la commande?) si suivi de +fg)
i num??ro d'i-noeud du fichier
l ??tat de verrouillage du fichier
L nom de l'utilisateur ex??cutant le processus
m marqueur entre des sorties r??p??t??es
n nom du fichier, commentaire, adresse Internet
N identificateur de noeud (ox<hexad??cimal>
o position dans le fichier (d??cimal)
p ID du processus (toujours s??lectionn??)
g ID du groupe de processus
P nom du protocole
r num??ro de p??riph??rique brut (0x<hexad??cimal>)
R ID du processus p??re
s taille du fichier (d??cimale)
S identification du flux du fichier
t type du fichier
T information TCP/TPI, identifi??e par des pr??fixes (le
?? = ?? fait partie du pr??fixe) :
ST=<??tat>
QR=<taille queue de lecture>
QS=<taille queue de ??criture>
WR=<taille fen??tre de lecture> (pas tous les dialectes)
WW=<taille fen??tre d'??criture> (pas tous les dialectes)
(L'information d'??tat TPI et les tailles de fen??tre ne sont pas
rapport??es sur tous les dialectes UNIX support??s.
La sortie d'aide -h ou -? pour l'option -T montrera si on peut
requ??rir le rapportage de la taille de fen??tre.)
u ID utilisateur du processus
0 utiliser le caract??re de terminaison de champ NUL plut??t que NL
1-9 identificateurs de champs sp??cifiques au dialecte (La sortie
de -F? identifie l'information que l'on peut trouver
dans les champs sp??cifiques au dialecte.)
Vous pouvez obtenir de l'information en ligne sur ces caract??res et leur description en sp??cifiant le couple d'options
-F? .
(Prot??gez le caract??re ?? ? ?? si votre shell le requiert.) Des informations suppl??mentaires sur le contenu des champs peuvent ??tre trouv??es dans la section
SORTIE.
Par exemple, ?? -F pcfn ?? s??lectionnera les champs ID de processus (?? p ??), nom de commande (?? c ??), descripteur de fichier (?? f ??) et le nom de fichier (?? n ??) avec NL servant comme caract??re terminateur de champ ; ?? -F pcfn0 ?? s??lectionne la m??me sortie mais avec NUL (000) comme caract??re terminateur de champ.
Lsof ne produit pas tous les champs pour chaque ensemble de processus ou de fichiers, mais uniquement ceux qui sont disponibles. Certains champs sont mutuellement exclusifs : les caract??res de p??riph??rique de fichier et les num??ros de p??riph??rique majeur/mineur ; num??ro d'i-noeud du fichier et nom de protocole ; nom du fichier et identification du flux ; taille du fichier et position. Un seul membre de ces ensembles mutuellement exclusifs appara??tra dans la sortie des champs, mais pas les deux.
Normalement,
lsof termine chaque champ par un caract??re NL (012). Le caract??re identificateur de champ 0 (z??ro) peut ??tre sp??cifi?? pour remplacer le caract??re terminateur de champ par un NUL (000). Un terminateur NUL peut ??tre plus facile ?? traiter avec
xargs(1) , par exemple, ou avec des programmes dont les m??canismes de protection ne peuvent facilement g??rer l'intervalle de caract??res dans la sortie en champs. Quand le terminateur de champ NUL est utilis??,
lsof termine chaque ensemble de processus et de fichiers par un NL (012).
Deux aides ?? la production de programmes pouvant traiter la sortie en champs de
lsof sont incluses dans la distribution de
lsof. La premi??re est un fichier d'en-t??te,
lsof_fields.h , qui contient des symboles pour les caract??res d'identification de champs, des index pour les stocker dans une table, et des cha??nes de caract??res d'explication qui peuvent ??tre compil??es dans les programmes.
Lsof utilise ce fichier d'en-t??te.
La seconde aide et un jeu de scripts d'exemples qui traitent la sortie en champs, qui sont ??crits en
awk , Perl 4, et
Perl 5.
Ils sont situ??s dans le sous-r??pertoire
scripts de la distribution de
lsof.
BLOCAGES ET TEMPORISATIONS
Lsof peut ??tre bloqu?? par certaines fonctions du noyau qu'il utilise -
lstat(2) ,readlink(2) et
stat(2) . Ces fonctions sont bloqu??es dans le noyau, par exemple, quand les h??tes o?? r??sident des syst??mes de fichiers mont??s NFS deviennent inaccessibles.
Lsof essaie de se d??gager de ces blocages gr??ce ?? des temporisateurs et des processus enfants, mais les techniques ne sont pas enti??rement fiables. Quand
lsof arrive ?? se d??gager d'un blocage, il rapportera ce blocage par un message d'erreur. Les messages peuvent ??tre supprim??s avec les options
-t et
-w.
La valeur de temporisation par d??faut peut ??tre affich??e avec l'option
-h ou
-? , et peut ??tre modifi??e avec l'option
-S [t]. Le minimum pour
t est deux secondes, mais vous devriez ??viter de faibles valeurs, car le temps de r??ponse de syst??mes lents peut provoquer l'expiration de temporisateurs de fa??on inattendue et peut-??tre stopper
lsof avant qu'il n'ait pu produire quoi que ce soit en sortie.
Quand
lsof doit se d??gager d'un blocage pendant un acc??s ?? de l'information sur le syst??me de fichiers mont??, il continue normalement, bien que disposant de moins d'information disponible ?? afficher sur les fichiers ouverts.
Lsof peut ??galement ??tre enjoint ?? ??viter la protection des temporisateurs et des processus enfants quand il utilise des fonctions du noyau qui pourraient bloquer en sp??cifiant l'option
-O. Bien que cela permette ??
lsof de d??marrer avec une moins grande surcharge, cela expose compl??tement
lsof aux situations de noyau qui pourraient le bloquer. Utilisez cette option avec pr??caution.
??VITER LES BLOCAGES DU NOYAU
Vous pouvez utiliser l'option
-b pour indiquer ??
lsof d'??viter d'utiliser les fonctions du noyau qui pourraient bloquer. Certaines pr??cautions sont de mise.
D'abord, l'utilisation de cette option requiert habituellement que votre syst??me fournisse des num??ros de p??riph??riques alternatifs en lieu et place des num??ros de p??riph??riques qu'obtiendrait normalement
lsof via les fonctions du noyau
lstat(2) et
stat(2) . Voyez la section
NUM??ROS DE P??RIPH??RIQUES ALTERNATIFS pour en savoir plus sur les num??ros de p??riph??riques alternatifs.
Ensuite, vous ne pouvez sp??cifier de
noms ?? faire localiser par
lsof ?? moins qu'ils ne soient des noms de syst??mes de fichiers. Cela est d?? au fait que
lsof doit conna??tre les num??ros de p??riph??rique et d'i-noeud des fichiers list??s avec
noms dans les options de
lsof , et que l'option
-b emp??che
lsof de les obtenir. De plus, puisque
lsof ne dispose de num??ro de p??riph??riques que pour les syst??mes de fichiers qui ont des alternatives, sa facult?? ?? localiser des fichiers sur des syst??mes de fichiers d??pend enti??rement de la disponibilit?? et de la pr??cision des alternatives. Si aucune alternative n'est disponible, ou si elles sont incorrectes,
lsof ne sera pas en mesure de localiser des fichiers sur les syst??mes de fichiers nomm??s.
De plus, si les noms des r??pertoires de votre syst??me de fichiers obtenus par
lsof ?? partir de la table de montage de votre syst??me sont des liens symboliques,
lsof ne sera pas capable de r??soudre les liens. Cela est d?? au fait que l'option
-b fait ??viter ??
lsof l'utilisation de la fonction du noyau
readlink(2) qu'il utilise pour r??soudre les liens symboliques.
Finalement, l'utilisation de l'option
-b fait ??mettre des messages d'avertissement ??
lsof quand il a besoin d'utiliser les fonctions du noyau que l'option
-b lui ordonne d'??viter. Vous pouvez supprimer ces messages en sp??cifiant l'option
-w , mais si vous le faites, vous ne verrez pas les num??ros de p??riph??riques alternatifs rapport??s dans les messages d'avertissement.
NUM??ROS DE P??RIPH??RIQUES ALTERNATIFS
Sur certains dialectes, quand
lsof doit se d??gager d'un blocage parce qu'il ne peut obtenir d'information sur un syst??me de fichiers mont?? via les fonctions du noyau
lstat(2) et
stat(2) , ou parce que vous avez sp??cifi?? l'option
-b ,
lsof peut obtenir certaines informations qu'il d??sire - le num??ro de p??riph??rique et peut-??tre le type du syst??me de fichiers - ?? partir de la table de montage du syst??me. Quand cela est possible,
lsof rapportera le num??ro de p??riph??rique qu'il a obtenu. (Vous pouvez emp??cher l'??mission du rapport en sp??cifiant l'option
-w.)
Vous pouvez favoriser ce processus si votre table de montage est support??e via un fichier
/etc/mtab ou
/etc/mnttab qui contient un champs d'options en ajoutant un champ ?? dev=xxxx ?? pour les points de montage qui n'en poss??dent pas dans leur cha??ne d'options.
La partie ?? xxxx ?? du champ est la valeur hexad??cimale du num??ro de p??riph??rique du syst??me de fichiers. (Consultez le champ
st_dev de la sortie des fonctions
lstat(2) et
stat(2) pour obtenir les valeurs appropri??es pour vos syst??mes de fichiers.) Voici un exemple provenant d'un fichier
/etc/mnttab sous Solaris 2.6 pour un syst??me de fichiers mont?? ?? distance via NFS :
nfs ignore,noquota,dev=2a40001
Il y a un avantage ?? avoir des entr??es ?? dev=xxxx ?? dans votre fichier de table de montage, sp??cialement pour les syst??mes de fichiers qui sont mont??s ?? partir de serveurs NFS distants. Quand un serveur distant se crashe et que vous voulez identifier ses utilisateurs en ex??cutant
lsof sur l'un de ses clients,
lsof ne sera probablement pas capable d'obtenir la sortie des fonctions
lstat(2) et
stat(2) pour le syst??me de fichiers. S'il peut obtenir le num??ro de p??riph??rique du syst??me de fichiers ?? partir de la table de montage, il sera capable d'afficher les fichiers ouverts sur le serveur NFS crash??.
Quelques dialectes qui n'utilisent pas de fichier ASCII
/etc/mtab ou
/etc/mnttab pour la table de montage peuvent tout de m??me fournir un num??ro de p??riph??rique alternatif dans leurs tables de montage internes. Ils se composent de AIX, Apple Darwin, DEC OSF/1, Digital UNIX, FreeBSD, NetBSD, OpenBSD et Tru64 UNIX.
Lsof sait comment obtenir le num??ro de p??riph??rique alternatif pour ces dialectes, et l'utilise quand sa tentative de
lstat(2) ou
stat(2) -er le syst??me de fichiers est bloqu??e.
Si vous n'??tes pas certain que votre dialecte supporte les num??ros de p??riph??riques alternatifs pour les syst??mes de fichiers pr??sents dans sa table de montage, utilisez cette incantation de
lsof pour voir si elle rapporte des num??ros de p??riph??riques alternatifs :
lsof -b
Recherchez parmi les messages d'avertissement concernant les fichiers sur la sortie d'erreur standard, ceux qui commencent par ?? assuming "dev=xxxx" from ... ??.
CACHE DE NOMS DU NOYAU
Lsof est capable d'examiner le cache de noms du noyau ou d'utiliser d'autres m??canismes du noyau (p.ex. la fonction tag_to_path() ADVFS 4.x sous Digital UNIX ou Tru64 UNIX) sous certains dialectes pour la plupart des types de syst??mes de fichiers, AFS exclus, et d'en extraire des composants de noms de chemin r??cemment utilis??s. (Les recherches de chemin dans le syst??me de fichiers AFS n'utilisent pas le cache de noms du noyau.)
Lsof rapporte les chemins complets qu'il trouve dans la colonne NAME. Si
lsof ne peut rapporter tous les composants d'un chemin, il rapporte dans la colonne NAME le nom du syst??me de fichiers, suivi par une espace, deux caract??res ?? - ??, une autre espace, et les composants du nom qu'il a localis??, s??par??s par le caract??re ?? / ??.
Quand
lsof est ex??cut?? en mode r??p??tition - c.-??-d. lorsque l'option
-r est sp??cifi??e - la facult?? qu'il a ?? rapporter les composants de noms de chemin pour le m??me fichier peut varier de p??riode en p??riode. Cela est d?? au fait que les autres processus s'ex??cutant peuvent faire supprimer par le noyau des entr??es de son cache de noms et les remplacer par d'autres.
L'utilisation par
lsof du cache de noms du noyau pour identifier les chemins des fichiers peut l'amener ?? rapporter incorrectement des composants dans certaines circonstances. Cela peut se produire quand le cache de noms du noyau utilise les num??ros de p??riph??rique et de noeud comme cl?? (p.ex. Linux et SCO OpenServer) et qu'une cl?? est r??utilis??e sur un syst??mes de fichiers subissant des changements fr??quents est r??utilis??e. Si le noyau du dialecte UNIX ne purge pas l'entr??e d'un fichier du cache de noms quand il est supprim??,
lsof peut trouver une r??f??rence vers la mauvaise entr??e dans le cache. La FAQ
lsof (La section FAQ vous donne son emplacement.) dispose de plus d'informations sur cette situation.
Lsof peut rapporter les composants de noms de chemin pour ces dialectes :
BSDI BSD/OS
DC/OSx
DEC OSF/1, Digital UNIX, Tru64 UNIX
FreeBSD
HP-UX
Linux
NetBSD
NEXTSTEP
OpenBSD
Reliant UNIX
Caldera OpenUNIX
SCO OpenServer
SCO UnixWare
Solaris
Lsof ne peut rapporter les composants de noms de chemin pour ces dialectes :
AIX
Si vous voulez savoir pourquoi
lsof ne peut rapporter les composants de noms de chemin pour certains dialectes, voyez la FAQ
lsof (La section FAQ vous donne son emplacement).
FICHIER DE CACHE DES P??RIPH??RIQUES
L'examen de tous les membres de l'arbre de noeuds
/dev (ou
/devices ) avec les fonctions
stat(2) peut prendre du temps. Qui plus est, l'information dont a besoin
lsof - num??ro de p??riph??rique, num??ro d'i-noeud, et chemin - change rarement.
Par cons??quent,
lsof maintient normalement un fichier texte ASCII servant de cache d'information sur
/dev (ou
/devices ) (exception : les syst??mes Linux utilisant le m??canisme /proc
lsof o?? cela n'est pas n??cessaire.) L'administrateur du syst??me local qui construit
lsof peut contr??ler la fa??on dont le chemin du fichier de cache des p??riph??riques est form??, en utilisant les possibilit??s suivantes :
Chemin provenant de l'option -D ;
Chemin provenant d'une variable d'environnement ;
Chemin global au syst??me ;
Chemin personnel (d??faut) ;
Chemin personnel, modifi?? par une variable
d'environnement.
Consultez la sortie des options d'aide
-h , -D? ou
-? pour obtenir l'??tat courant du support du cache des p??riph??riques. La sortie d'aide liste le chemin du fichier de cache des p??riph??riques en mode lecture par d??faut qui est utilis?? par l'invocation actuelle de
lsof . La sortie de l'option
-D? liste les chemins de fichiers de cache des p??riph??riques dans les modes lecture seule et ??criture, le nom de toutes les variables d'environnement pertinentes, et le format du fichier de cache des p??riph??riques personnel.
Lsof peut d??tecter que le fichier de cache des p??riph??riques actuel a ??t?? modifi?? accidentellement ou avec malveillance par des contr??les d'int??grit??, qui incluent le calcul et la v??rification d'une somme de Contr??le de Redondance Cyclique (CRC) de 16 bits sur le contenu du fichier. Quand
lsof per??oit qu'il y a un probl??me avec le fichier, il ??met un avertissement et essaie de supprimer le fichier de cache actuel et de cr??er une nouvelle copie, mais seulement dans un chemin o?? le processus peut l??gitimement ??crire.
Le chemin ?? partir duquel un processus
lsof peut essayer de lire un fichier de cache de p??riph??riques ne peut pas ??tre le m??me que le chemin dans lequel il peut l??gitimement ??crire. Ainsi, quand
lsof prend conscience qu'il doit mettre ?? jour le fichier de cache des p??riph??riques, il peut choisir, pour l'??criture, un chemin diff??rent de celui utilis?? pour la lecture d'une version incorrecte ou p??rim??e.
Si elle est disponible, l'option
-Dr emp??chera l'??criture d'un nouveau fichier de cache des p??riph??riques. (Cela est toujours disponible quand c'est sp??cifi?? sans argument de nom de chemin.)
Quand un nouveau p??riph??rique est ajout?? au syst??me, il se peut que le fichier de cache des p??riph??riques doive ??tre recr????. Puisque
lsof compare le mtime du fichier de cache des p??riph??riques avec les mtime et ctime du r??pertoire
/dev (ou
/devices ) , il d??tecte habituellement qu'un nouveau p??riph??rique a ??t?? ajout?? ; dans ce cas,
lsof ??met un message d'avertissement et essaie de reconstruire le fichier de cache des p??riph??riques.
?? chaque fois que
lsof ??crit un fichier de cache des p??riph??riques, il fixe sa propri??t?? ?? l'UID r??el du processus ex??cutant, et ses modes de permission ?? 0600, ne permettant ainsi la lecture et l'??criture que par le seul propri??taire du fichier.
PERMISSIONS DE LSOF QUI AFFECTENT L'ACC??S AU FICHIER DE CACHE DES P??RIPH??RIQUES
Deux permissions de l'ex??cutable
lsof affectent sa facult?? ?? acc??der aux fichiers de cache de p??riph??riques. Les permissions sont ??tablies par l'administrateur local quand
lsof est install??.
La premi??re permission et la plus rare est setuid-root. Elle entre en vigueur quand
lsof est ex??cut?? ; son UID effectif est alors root, alors que son UID r??el (c.-??-d. celui de l'utilisateur connect??) ne l'est pas. La distribution de
lsof recommande que les versions pour ces dialectes soient ex??cut??es dans le mode setuid-root :
DC/OSx 1.1 pour les syst??mes Pyramid
Reliant UNIX 5.4[34] pour les syst??mes Pyramid
La seconde permission plus ordinaire est setgid. Elle entre en vigueur quand le num??ro d'IDentification de Groupe (GID) effectif du processus
lsof compte parmi ceux qui peuvent acc??der aux p??riph??riques m??moire du noyau - p.ex. ?? kmem ??, ?? sys ?? ou ?? system ??.
Un processus
lsof qui poss??de la permission setgid d??laisse habituellement la permission apr??s avoir acc??d?? aux p??riph??riques m??moire du noyau. Quand il fait cela,
lsof peut permettre des formations de chemin de cache de p??riph??riques plus permissives. La distribution de
lsof recommande que les versions pour ces dialectes soient ex??cut??es dans le mode setgid et d??laissent leur permission setgid.
AIX 4.3.[23], 5L et 5.1
Apple Darwin 1.[23] et 1.4 pour les syst??mes Power Macintosh
BSDI BSD/OS 4.1 pour les syst??mes ?? base de processeurs Intel
DEC OSF/1, Digital UNIX, Tru64 UNIX 4.0 et 5.[01]
FreeBSD 4.[234] et 5.0 pour les syst??mes ?? base de processeurs Intel
HP-UX 11.00
NetBSD 1.5 pour les syst??mes d'architecture Alpha, Intel et SPARC
NEXTSTEP 3.[13] pour les architectures NEXTSTEP
OpenBSD 2.[89] et 3.0 pour les syst??mes ?? base de processeurs Intel
Caldera OpenUNIX
SCO OpenServer Release 5.0.[46] pour les syst??mes ?? base de processeurs Intel
SCO UnixWare 7.1.1 pour les syst??mes ?? base de processeurs Intel
Solaris 2.6, 7, 8 et 9 BETA
(Note :
lsof sous AIX 5L et sup??rieur a besoin de la permission setuid-root si l'option
-X est utilis??e.)
Lsof ne supporte pas de cache de p??riph??riques pour les dialectes suivants, et les permissions ainsi donn??es ?? l'ex??cutable ne s'appliquent pas au fichier de cache des p??riph??riques.
Linux 2.1.72 et sup??rieur (lsof utilisant /proc)
CHEMIN DU FICHIER DE CACHE DES P??RIPH??RIQUES PROVENANT DE
L'OPTION -D
L'option
-D fournit des moyens limit??s de sp??cification du chemin du fichier de cache des p??riph??riques. Sa fonction
? rapportera les chemins de fichiers de cache des p??riph??riques dans les modes lecture seule et ??criture qu'utilisera
lsof.
Quand les fonctions
-D b , r et
u sont disponibles, vous pouvez les utiliser pour requ??rir que le fichier de cache soit construit dans un endroit sp??cifique (b[chemin]) ; lu mais non reconstruit (r[chemin]) ; ou lu et reconstruit (u[chemin]). Les fonctions
b , r et
u sont interdites dans certaines circonstances. Elles sont interdites quand le processus
lsof s'ex??cute dans le mode setuid-root. Le chemin sp??cifi?? par l'option
r est toujours accessible en lecture seule, m??me quand il est disponible.
Les fonctions
b , r et
u sont ??galement interdites quand le processus
lsof tourne dans le mode setgid et que
lsof ne d??laisse pas la permission setgid. (Voyez la section
PERMISSIONS DE LSOF QUI AFFECTENT L'ACC??S AU FICHIER DE CACHE DES P??RIPH??RIQUES pour une liste des impl??mentations qui ne d??laissent normalement pas leur permission setgid.)
Une fonction suppl??mentaire de
-D , ?? savoir
i (pour ignorer), est toujours disponible.
Quand elle est disponible, la fonction
b indique ??
lsof de lire de l'information sur un p??riph??rique ?? partir du noyau avec la fonction
stat(2) et de construire un fichier de cache des p??riph??riques dans le chemin indiqu??/
Quand elle est disponible, la fonction
r indique ??
lsof de lire le fichier de cache des p??riph??riques, mais de ne pas le mettre ?? jour. Quand un argument chemin accompagne
-Dr , celui-ci nomme le chemin du fichier de cache des p??riph??riques. La fonction
r est toujours disponible quand elle est sp??cifi??e sans argument de nom de chemin. Si
lsof ne tourne pas dans le mode setuid-root et abandonne sa permission setgid, un argument de nom de chemin peut accompagner la fonction
r.
Quand elle est disponible, la fonction
u indique ??
lsof d'essayer de lire et d'utiliser le fichier de cache des p??riph??riques. S'il ne peut pas lire le fichier, ou s'il juge que le contenu du fichier est incorrect ou p??rim??, il lira l'information ?? partir du noyau, et essaiera d'??crire une version mise ?? jour du fichier de cache des p??riph??riques, mais uniquement dans un chemin qu'il consid??re comme l??gitime pour les UIDs effectif et r??el du processus
lsof.
CHEMIN DU CACHE DES P??RIPH??RIQUES PROVENANT D'UNE VARIABLE
D'ENVIRONNEMENT
Le second choix de
lsof pour le fichier de cache des p??riph??riques est le contenu de la variable d'environnement LSOFDEVCACHE. Il ??vite ce choix si le processus tourne dans le mode
lsof setuid-root, ou si l'UID r??el du processus est root.
Une restriction suppl??mentaire s'applique au fichier de cache des p??riph??riques obtenu ?? partir de la variable d'environnement LSOFDEVCACHE :
lsof n'??crira pas de fichier de cache de p??riph??riques dans le chemin si le processus
lsof ne d??laisse pas sa permission setgid. (Voyez la section
PERMISSIONS DE LSOF QUI AFFECTENT L'ACC??S AU FICHIER DE CACHE DES P??RIPH??RIQUES pour une liste des impl??mentations qui ne d??laissent pas leur permission setgid.)
L'administrateur du syst??me local peut d??sactiver l'utilisation de la variable d'env