Ho trovato in IOStat che una parte della mia applicazione sta scrivendo molto, ma non so quale processo sia e con quali file sta scrivendo. In Vista c'è uno strumento per ciò che mostra i file che sono stati attivi negli ultimi 30 secondi. C'è qualcosa di simile per Linux?Strumento che mi mostra quali file sono scritti in Linux?
risposta
Quello che state cercando è lsof
. È uno strumento da riga di comando ma esiste anche un GUI for it at sourceforge.
lsof mostra solo i file aperti dal processo ora – PiedPiper
Per trovare tutti i file modificati negli ultimi 24 ore (ultimo giorno intero) in una particolare directory specifica e le sue sottodirectory:
trovare/percorso_directory -mtime -1 -print
più a:
E c'è anche un modo per monitorare l'attività (leggi scrivi kb/s) su singoli file? Il server è abbastanza attivo e molti file vengono modificati, ma ho bisogno di quelli con il più alto trasferimento ... – smint
Non sicuro di un programma ma il comando find in utility ha molte opzioni che ti permetteranno di trovare file e/o directory che sono stati modificati in un certo periodo di tempo.
Ad esempio:
$ find /home/you -iname "*.txt" -mtime -1 -print
avrebbero trovato file di testo che sono stati modificati 1 giorni fa.
È possibile racchiudere questa chiamata in una sorta di script o scrivere la propria app rapida per utilizzare i risultati.
Ecco un sito con alcuni esempi maggiori informazioni e:
Linux fornisce un'API di notifica di modifica file denominata "dnotify", insieme a un'utilità della riga di comando dnotify. Puoi usarlo per tenere traccia delle modifiche negli ultimi 30 secondi.
Probabilmente scriverei un'applicazione che si basa direttamente sull'API di Linux e scarta tutti gli eventi precedenti a 30s.
Grazie, speravo che ci fosse già qualcosa esistente. – smint
lsof elencherà tutti i file aperti per un dato processo:
lsof -p
strace -e trace=file -- <command>
vi mostrerà esattamente quali file dell'applicazione è la lettura e writong
Lavorerà a lungo su un intero albero del processo o su un solo processo? –
Non funzionerà su un intero albero ma puoi usare l'opzione '-p pid' per allegare fino a 32 processi – PiedPiper
o usare '-f' per tracciare i processi figli così come vengono creati dai processi attualmente tracciati come risultato della chiamata di sistema della forcella (2) – PiedPiper
Se volete vedere tutti i file di accesso in tempo reale (fino a 32 processi) è possibile utilizzare questo comando:
strace -f -e trace=file `ps aux | tail -n +2 | awk '{ORS=" "; print $2}' | sed -e 's/\([0-9]*\)/\-p \1 /g' | sed -e 's/\-p $//g'`
- 1. In Linux, quali tipi di file sono mappati in memoria?
- 2. Quali potrebbero essere i motivi per cui i dati dello strumento Performance sono elevati. [che mostra in Xcode VM tracker]
- 3. messaggio di commit git che mostra il file come copiato anziché modificato. Quali sono le implicazioni?
- 4. Quali forum Linux/embedded Linux attivi sono disponibili online?
- 5. Quali librerie di testi sono disponibili in Linux?
- 6. Nel terminale Linux, qual è il comando che mi dirà in quale cartella sono?
- 7. leva: mi mostra lo stack
- 8. Uno strumento per dirti quali sono i file sorgente necessari in un progetto C++?
- 9. Mi sono unito all'ACM. Quali risorse dovrei guardare prima?
- 10. In quale lingua sono scritti il compilatore Java e JVM?
- 11. quali sono i comandi integrati della shell in linux?
- 12. Less non mi mostra i suoi errori
- 13. Quali sono le librerie che collegano le opzioni in Xcode?
- 14. Pulsante Mi piace che non mostra i conteggi
- 15. Mostra zero in button_count Pulsante Mi piace
- 16. Quali file sono effettivamente inclusi durante la compilazione
- 17. Pulsante Mi piace di Facebook che mostra 0 Mi piace per TUTTE le pagine Facebook
- 18. Quali sono le insidie che mi attendono quando migro da CF6.1 a CF8 o Railo3.1?
- 19. In che modo Pip decide quali molte ruote linux usare?
- 20. Che cos'è il file rc.status in linux
- 21. Debugger XCode: Perché mi mostra solo l'assemblatore?
- 22. Quali strutture dati sono disponibili nel kernel Linux
- 23. Quali caratteri NON sono presenti in Unicode?
- 24. Strumento di diffusione che può essere integrato in un'app C#
- 25. Quali estensioni GNU C sono disponibili che non sono banali da implementare in C99?
- 26. I comandi della shell sono scritti in quale lingua?
- 27. Eclipse mostra quali sono le liste di classi che estendono la classe corrente
- 28. In che modo Linux esegue un file?
- 29. In che modo linux-kernel legge il file proc/pid?
- 30. Quali sono i caratteri che stringByAddingPercentEscapesUsingEncoding escapes?
Jus Per curiosità: conosco filemon, ma a quale strumento di Vista ti riferisci? –
@Ludwig Pannello di controllo -> Strumenti di amministrazione -> Monitoraggio affidabilità e prestazioni. Quindi fare clic sulla barra che dice Disco. Mostra i file più attivi e quali processi stanno leggendo o scrivendo. –
È già su ServerFault: http: // serverfault.it/questions/224629/see-what-files-sono-essere-scritti-a-come-iotop-ma-per-file-non-processi –