0 votes

fs_usage renvoie BEAUCOUP de lignes ioctl

J'étais en train de me documenter sur des commandes intéressantes du Terminal (je l'utilise depuis toujours, mais il y a toujours plus à apprendre) quand je suis tombé sur ce . J'ai couru sudo fs_usage et j'ai eu un tas de ça :

...
13:39:09  ioctl                   0.000019   WindowServer
13:39:09  ioctl                   0.000017   WindowServer
13:39:09  ioctl                   0.000020   WindowServer
13:39:09  ioctl                   0.000018   WindowServer
...

Je me dis que si j'ai un jour besoin de l'utiliser, ce serait bien d'avoir un moyen non seulement de filtrer l'activité du système de fichiers liée au WindowServer, en particulier, mais aussi aux autres processus. Il serait également agréable de pouvoir spécifier un service ou un processus pour lequel renvoyer des informations.

Ai-je mal interprété l'utilité de cette fonction ? Existe-t-il un moyen de se débarrasser de ces nombreux appels à WindowServer ? Puis-je spécifier les processus qui m'intéressent ?

3voto

klanomath Points 63400

Tout cela est possible en utilisant fs_usage avec plusieurs options. Vous pouvez aussi le passer à grep pour restreindre davantage la sortie.

Pour exclure un processus ou un pid (et aussi fs_usage lui-même) utilisez l'option -e :

sudo fs_usage -e WindowsServer
sudo fs_usage -e 123

La spécification de l'option -f active le filtrage de la sortie en fonction du mode fourni. Les modes possibles sont :

network    Network-related events are displayed.  
filesys    Filesystem-related events are displayed.  
pathname   Pathname-related events are displayed.  
exec       Exec and spawn events are displayed.  
diskio     Disk I/O events are displayed.  
cachehit   In addition, show cache hits.  

Exemple :

sudo fs_usage -e WindowsServer -f filesys

Pour montrer seulement un pid/commande spécial et exclure tous les autres, utilisez le pid (entrez ps aux pour l'obtenir) ou le nom de la commande ou de l'application

Exemples :

sudo fs_usage -f filesys Terminal
sudo fs_usage -f filesys 178

Une autre possibilité est d'envoyer la sortie de fs_usage vers grep :

sudo fs_usage -e -f filesys|grep Terminal
sudo fs_usage -e -f filesys|grep -v grep|grep write
sudo fs_usage -e|grep -v grep|grep -v WindowsServer|grep ioctl

La partie grep -v grep o grep -v WindowsServer exclut la présence de "grep" et/ou "WindowsServer" dans le résultat.

Sources :
Développeur Apple
Rentzsch

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X