lsof - umur file

8

Perintah * nix lsofmemberi Anda daftar file yang terbuka. Adakah yang mengetahui cara yang juga akan mendaftar berapa lama file tertentu telah dibuka? Baik dengan menggunakan lsofatau perintah lainnya. Saya menggunakan CentOS 5.3 dan sayangnya saya tidak dapat menginstal repositori tambahan sehingga saya harus bekerja dari repo CentOS default.

Terima kasih

Kevin
sumber
1
Mengapa Anda membutuhkannya? Saat ini saya tidak tahu bagaimana mencapainya dengan salah satu lsofatau utilitas lain, jadi mungkin ada solusi alternatif untuk masalah Anda ...
plaes
Ada masalah khusus aplikasi (in-house) dan salah satu proses kami adalah menjaga file tetap terbuka, tetapi saya tidak dapat menentukan apakah itu melakukan ini setiap kali dipanggil, karena itu saya ingin melihat usia setiap file yang terbuka, yaitu file1 buka sejak 2012-01-01 00:00:00, file2 terbuka sejak 2012-01-02 00:00:00 dll.
2
Ada dua hal yang bisa saya pikirkan: strace -e open,close programatau valgrinddengan --track-fds=yesopsi.
plaes

Jawaban:

3

Jika Anda memiliki pid, Anda dapat langsung check in / proc / $ pid / fd. Ini tampaknya berada di tempat deskriptor file diciptakan.

Jika Anda melihat tanggal pembuatannya dengan sederhana ls -lh, mungkin Anda bisa tahu sudah berapa lama file tertentu dibuka.

Coren
sumber
0

A - bukan tebakan yang sangat tepat - bisa menggunakan pid yang disediakan oleh lsofdan digunakan psuntuk mencari tahu sejak kapan program yang membuka file sedang berjalan. Ini tentu saja hanya berfungsi untuk file yang dibuka pada awal program, bukan untuk file yang nanti dibuka.

arnep
sumber