FUSE et ses droits d'accès
lsofpar défaut, vérifie tous les systèmes de fichiers montés, y compris les systèmes de fichiers FUSE implémentés dans l'espace utilisateur qui ont des droits d'accès spéciaux sous Linux.
Comme vous pouvez le voir dans cette réponse sur Ask Ubuntu, un système de fichiers GVFS monté (cas particulier de FUSE) n'est normalement accessible qu'à l'utilisateur qui l'a monté (le propriétaire de gvfsd-fuse). Même rootne peut y accéder. Pour contourner cette restriction, il est possible d'utiliser les options de montage allow_rootet allow_other. L'option doit également être activée dans le démon FUSE qui est décrit par exemple dans cette réponse ... mais dans votre cas, vous n'avez pas besoin (et ne devez pas) modifier les droits d'accès.
Exclusion de systèmes de fichiers de lsof
Dans votre cas, il lsofn'est pas nécessaire de vérifier les systèmes de fichiers GVFS afin que vous puissiez exclure les stat()appels sur eux en utilisant l' -eoption (ou vous pouvez simplement ignorer le waring):
lsof -e /run/user/1000/gvfs
Vérification de certains fichiers par lsof
Vous utilisez lsofpour obtenir des informations sur tous les processus en cours d'exécution sur votre système et vous filtrez ensuite la sortie complète à l'aide de grep. Si vous souhaitez vérifier uniquement certains fichiers et que les processus associés utilisent l' -foption sans qu'une valeur la suive directement, spécifiez une liste de fichiers après le séparateur "fin des options" --. Ce sera considérablement plus rapide.
lsof -e /run/user/1000/gvfs -f -- /tmp/report.csv
Solution générale
Pour exclure tous les systèmes de fichiers montés sur lesquels stat()échoue, vous pouvez exécuter quelque chose comme ceci (en bash):
x=(); for a in $(mount | cut -d' ' -f3); do test -e "$a" || x+=("-e$a"); done
lsof "${x[@]}" -f -- /tmp/report.csv
Ou pour être sûr d'utiliser stat()( test -epourrait être implémenté d'une manière différente):
x=(); for a in $(mount | cut -d' ' -f3); do stat --printf= "$a" 2>/dev/null || x+=("-e$a"); done
lsof(sans|et grep)?