8
votes

Utilisation de lsof pour obtenir une liste de noms de fichiers

edit 1 strong>

J'ai des problèmes en utilisant les arguments donnés. Peut-être que c'est la façon dont je passe mes arguments à travers Nstak? Toute suggestion quant à la façon dont je peux faire cela? P>

lsof +p 13812


1 commentaires

Avez-vous également "seulement" les fichiers que le processus a été ouvert? "LSOF" retournera une entrée pour tous les descripteurs de fichier ouverts (fichiers, sockets, ttys, etc.) ainsi que le répertoire de travail actuel, les bibliothèques partagées.


4 Réponses :


5
votes

Essayez:

lsof | tr -s ' ' | cut -d' ' -f9


1 commentaires

Cela imprimera également l'en-tête également, malheureusement.



2
votes

lsof + p 9174 | Awk '{IMPRESSION 9 $}'


1 commentaires

Considérez des espaces dans les noms de fichiers.



9
votes

Vous pouvez utiliser:

lsof -Fn +p 12345 | tail -n +2 | cut -c2-


1 commentaires

FYI, au moins dans des versions récentes de lsof , votre exemple ( lsof -fn + p 12345 ) sortira également des lignes de descripteur de fichier.



1
votes

Liste de la chanson en cours de lecture (fichier NFS, accédé par l'utilisateur MPD): xxx

La partie SED supprime toutes les lignes qui ne commencent pas par N et supprime n dans la sortie finale.


0 commentaires