Bir sunucuda çalışan bir işlemin 30 örneğim var ve her bir işlem için açık dosyaları günlüğe kaydetmek istiyorum.lsof, tüm açık dosyaları bir dizi belge için vermelidir
* ps auwwx | grep PROG_NAME | awk '{print $2}' | xargs lsof -p | less
Bu şikayetler , "lsof: durum hatası: Böyle bir dosya ya da dizine" Ben lsof -p <pid>
çalıştırırsanız
Ancak, bana verir
Ben aşağıdaki komutu çalıştırılmadan Bu işlem için açık dosyaların listesi. FreeBSD makinesinde, işlemin tüm 30 örneği için tüm açık dosyaların listesini nasıl alabilirim.Ayrıca, paylaşılan kitaplıkların listelenmesini istemiyorum. -d "^txt"
yaparsam, gösterilmek istediğim diğer db dosyalarını göstermiyor. .so dosyalarını grep dışarı başka yolu var mı?
: Belirli bir desen eşleştirme komutlar gelen tüm açık dosyaları listelemek için
lsof -c
kullanmak Benzer bir sorunu çözmek istedik - açık dosya sayısını sayma süreç başına, özellikle Java. Ben böyle yaptım: pgrep java | xargs -I {} bash -c 'printf {}; lsof -p {} | wc -l ' –