lsof - età del file


8

Il comando * nix lsofti dà un elenco di file aperti. Qualcuno è a conoscenza di un modo per elencare anche per quanto tempo è stato aperto un determinato file? O usando lsofo qualsiasi altro comando. Sto usando CentOS 5.3 e sfortunatamente non posso installare repository aggiuntivi quindi dovrei lavorare dai repository CentOS predefiniti.

Grazie


1
Perché ne hai bisogno? Al momento non ho idea di come raggiungerlo con nessuno lsofdei due programmi di utilità, quindi forse c'è una soluzione alternativa al tuo problema ...
plaes

C'è un problema specifico (interno) all'applicazione e uno dei nostri processi sta mantenendo un file aperto, ma non riesco a determinare se lo sta facendo ogni volta che viene chiamato, quindi mi piacerebbe vedere l'età di ogni file aperto, ad esempio file1 è aperto dal 01-01-2012 00:00:00, file2 è aperto dal 02-01-2012 00:00:00 ecc.

2
Ci sono due cose che mi vengono in mente: strace -e open,close programo valgrindcon l' --track-fds=yesopzione.
plaid

Risposte:


3

Se hai il pid, puoi fare direttamente il check in / proc / $ pid / fd. Essa sembra essere dove vengono creati i descrittori di file.

Se dai un'occhiata alla loro data di creazione con un semplice ls -lh, forse sarai in grado di sapere da quanto tempo è stato aperto un determinato file.


0

A - ipotesi non molto precisa - potrebbe essere quella di usare il pid fornito da lsofe usarlo psper scoprirlo da quando il programma che ha aperto il file è in esecuzione. Questo ovviamente funziona solo per i file aperti all'avvio del programma, non per i file aperti successivamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.