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.