fs_usage restituisce MOLTE linee di ioctl

0

Ho letto interessanti comandi Terminal (l'ho usato per sempre, ma c'è sempre altro da imparare) quando ho trovato questo . Ho eseguito sudo fs_usage e ho ottenuto un sacco di questo:

...
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
...

Immagino che, se mai dovessi effettivamente usarlo, sarebbe bello avere un modo non solo di filtrare le attività del filesystem relative al WindowServer, in particolare, ma anche ad altri processi. Sarebbe anche bello specificare un servizio o un processo per il quale restituire informazioni.

Ho interpretato male l'utilità di questa funzione? C'è un modo per sbarazzarsi di quelle numerose chiamate di WindowServer? Posso specificare i processi a cui sono interessato?

    
posta Carter Pape 19.07.2015 - 19:44
fonte

1 risposta

3

Tutto ciò è possibile usando fs_usage con diverse opzioni. Puoi anche riversarlo su grep per restringere ulteriormente l'output.

Per escludere un processo o un pid (e anche fs_usage stesso) usa l'opzione -e:

sudo fs_usage -e WindowsServer
sudo fs_usage -e 123

Specificando l'opzione -f attiva il filtro di output in base alla modalità fornita. Le modalità possibili sono:

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.  

Esempio:

sudo fs_usage -e WindowsServer -f filesys

Per mostrare solo un pid / comando speciale ed escludere tutti gli altri, usa il pid (inserisci ps aux per ottenerlo) o il nome del comando o dell'applicazione

Esempi:

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

Una possibilità diversa è quella di reindirizzare l'output di fs_usage a 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 parte grep -v grep o grep -v WindowsServer esclude "grep" e / o "WindowsServer" dal risultato.

Fonti:
sviluppatore Apple
Rentzsch

    
risposta data 19.07.2015 - 23:02
fonte

Leggi altre domande sui tag