← man/system_diagnostics
lsof — man lsof — 80×24
ugur@toprak:~/man/system_diagnostics$man lsof
Bölüm 8 Sistem Tanılama

lsof

açık dosyaları listeler

Özet

       lsof [ -?abChlnNOPRtUvVX ] [ -A A ] [ -c c ] [ +c c ] [ +|-d d ] [ +|-D D ] [ +|-e s ] [ +|-E
       ] [ +|-f [cfgGn] ] [ -F [f] ] [ -g [s] ] [ -i [i] ] [ -k k ] [ -K k ] [ +|-L [l] ] [ +|-m m ]
       [ +|-M ] [ -o [o] ] [ -p s ] [ +|-r [t[m<fmt>]] ] [ -s [p:s] ] [ -S [t] ] [ -T [t] ] [ -u s ]
       [ +|-w ] [ -x [fl] ] [ +|-X ] [ -z [z] ] [ -Z [Z] ] [ -- ] [names]

Açıklama

Lsof revizyonu 4.91, aşağıdaki UNIX türevleri için işlemler tarafından açılan dosyalar hakkındaki dosya bilgilerini standart çıktısında listeler:

Apple Darwin 9 ve Mac OS X 10.[567] FreeBSD 8.[234], 9.0 ve AMD64 tabanlı sistemler için 1[012].0 x86 tabanlı sistemler için Linux 2.1.72 ve üzeri Solaris 9, 10 ve 11

(En son lsof revizyonunu nasıl edineceğiniz hakkında bilgi için bu kılavuz sayfasının DAĞITIM bölümüne bakın.)

Açık bir dosya; düzenli bir dosya, bir dizin, özel blok dosyası, özel karakter dosyası, yürütülen bir metin referansı, bir kütüphane, bir akış veya bir ağ dosyası (Internet soketi, NFS dosyası veya UNIX alan soketi) olabilir. Belirli bir dosya veya bir dosya sistemindeki tüm dosyalar yol belirtilerek seçilebilir.

Biçimlendirilmiş bir ekran yerine lsof, diğer programlar tarafından ayrıştırılabilecek çıktılar üretecektir. Daha fazla bilgi için -F seçeneği açıklamasına ve DİĞER PROGRAMLAR İÇİN ÇIKTI bölümüne bakın.

Lsof, tek bir çıktı listesi üretmenin yanı sıra tekrarlama modunda da çalışacaktır. Tekrarlama modunda çıktı üretecek, gecikecek ve ardından bir kesme (interrupt) veya çıkış (quit) sinyaliyle durdurulana kadar çıktı işlemini tekrarlayacaktır. Daha fazla bilgi için +|-r [t[m]] seçeneği açıklamasına bakın.

Seçenekler

Herhangi bir seçeneğin bulunmaması durumunda lsof, tüm etkin işlemlere ait tüm açık dosyaları listeler.

Herhangi bir liste isteği seçeneği belirtilirse, diğer liste isteklerinin özellikle talep edilmesi gerekir - örneğin, UNIX soket dosyalarının listelenmesi için -U belirtilirse, -N de belirtilmedikçe NFS dosyaları listelenmeyecektir; veya -u seçeneği ile bir kullanıcı listesi belirtilirse, listede bulunmayan kullanıcılara ait UNIX alan soket dosyaları, -U seçeneği de belirtilmedikçe listelenmeyecektir.

Normalde özel olarak belirtilen liste seçenekleri VEYAlıdır (ORed) - yani, bir adres olmadan -i seçeneğinin ve -ufoo seçeneğinin belirtilmesi, tüm ağ dosyalarının VEYA "foo" kullanıcısına ait işlemlerin açtığı dosyaların listesini üretir. İstisnalar şunlardır:

  1. -u seçeneğiyle belirtilen, ^ (değillenmiş) oturum açma adı veya kullanıcı kimliği (UID);

  2. -p seçeneğiyle belirtilen, ^ (değillenmiş) işlem kimliği (PID);

  3. -g seçeneğiyle belirtilen, ^ (değillenmiş) işlem grubu kimliği (PGID);

  4. -c seçeneğiyle belirtilen, ^ (değillenmiş) komut;

  5. -s [p:s] seçeneğiyle belirtilen, değillenmiş (^) TCP veya UDP protokol durum adları.

Hariç tutmaları temsil ettiklerinden, VEYAlama veya VElama yapılmadan uygulanırlar ve diğer herhangi bir seçim kriteri uygulanmadan önce yürürlüğe girerler.

Seçimleri VElamak (AND) için -a seçeneği kullanılabilir. Örneğin, -a, -U ve -ufoo seçeneklerinin belirtilmesi, yalnızca "foo" kullanıcısına ait işlemlere ait UNIX soket dosyalarının listelenmesini sağlar.

Dikkat: -a seçeneği, tüm liste seçim seçeneklerinin VElanmasına neden olur; seçilen seçim seçeneği çiftlerinin arasına yerleştirilerek yalnızca bunların VElanmasını sağlamak için kullanılamaz, yerleşimi orada kabul edilebilir olsa bile. -a nereye yerleştirilirse yerleştirilsin, tüm seçim seçeneklerinin VElanmasına yol açar.

Aynı seçim kümesinin öğeleri - komut adları, dosya tanımlayıcıları, ağ adresleri, işlem kimlikleri, kullanıcı kimlikleri, bölge adları, güvenlik bağlamları - tek bir VEYAlanmış kümede birleştirilir ve sonuç VElamaya dahil edilmeden önce uygulanır. Bu nedenle, örneğin -i@aaa.bbb, -i@ccc.ddd, -a ve -ufff,ggg seçeneklerinin belirtilmesi, oturum açma adı "fff" VEYA "ggg" olan VE aaa.bbb VEYA ccc.ddd ana bilgisayarlarına ağ bağlantısı olan dosya listesini seçecektir.

Seçenekler tek bir önek altında gruplandırılabilir -- örneğin, "-a -b -C" seçenek kümesi -abC olarak belirtilebilir. Ancak, +|-f, -F, -g, -i, +|-L, -o, +|-r, -s, -S, -T, -x ve -z seçeneklerinden sonra değerler isteğe bağlı olduğundan, bunlar için bir değeriniz olmadığında sonraki karakterin belirsiz olmamasına dikkat edin. Örneğin, -Fn seçeneği -F ve -n seçeneklerini temsil edebilir veya -F seçeneğinden sonra gelen n alan tanımlayıcı karakterini temsil edebilir. Belirsizlik olasılığı olduğunda, yeni bir seçeneğe - karakteri ile başlayın - örneğin, "-F -n". Bir sonraki seçenek bir dosya adı ise, belirsiz olabilecek seçeneği -- ile takip edin - örneğin, "-F -- ad".

Bir grup seçeneğe + veya - öneki uygulanabilir. Her önek için ayrı anlamlar taşımayan seçenekler - örneğin, -i - her iki önek altında da gruplandırılabilir. Dolayısıyla, örneğin "+M -i", "+Mi" olarak belirtilebilir ve bu grup, ayrı seçeneklerle aynı anlama gelir. Gruptaki bir veya daha fazla seçenek farklı önekler altında farklı anlamlar kazandığında önek gruplandırmasına dikkat edin - örneğin, +|-M; "-iM" isteği, "-i +M" isteğiyle aynı değildir. Şüpheye düştüğünüzde, uygun öneklere sahip ayrı seçenekler kullanın.

-? -h Bu iki eşdeğer seçenek bir kullanım (yardım) çıktı listesi seçer. Lsof, kendisine sağlanan seçeneklerde bir hata tespit ettiğinde, her hatayı açıklayan mesajları görüntüledikten sonra bu çıktının kısaltılmış bir şeklini görüntüler. (Kabuğunuzun gerektirdiği şekilde ? karakterinden kaçış karakteriyle kaçının.)

  • -a: Yukarıda açıklandığı gibi liste seçim seçeneklerinin VElanmasını (ANDed) sağlar.

-A A, AFS çekirdek kodu dinamik modüller aracılığıyla uygulanan ve AFS için yapılandırılmış sistemlerde kullanılabilir. Lsof kullanıcısının, dinamik modüllerin çekirdek adreslerinin bulunabileceği alternatif bir ad listesi dosyası olarak A'yı belirtmesine olanak tanır. Dinamik modüller, sembolleri ve lsof'u nasıl etkiledikleri hakkında daha fazla bilgi için lsof FAQ'ına bakın (FAQ bölümü konumunu belirtir).

  • -b: lsof'un engelleyebilecek çekirdek fonksiyonlarından - lstat(2), readlink(2) ve stat(2) - kaçınmasını sağlar.

Bu seçeneğin kullanımı hakkında bilgi için ENGELLEMELER VE ZAMAN AŞIMLARI ile ÇEKİRDEK ENGELLEMELERİNDEN KAÇINMA bölümlerine bakın.

-c c, c'nin karakterleriyle başlayan komutu yürüten işlemlere ait dosyaların listelenmesini seçer. Birden fazla -c seçeneği kullanılarak birden fazla komut belirtilebilir. VElama seçeneği seçimine katılmadan önce tek bir VEYAlanmış kümede birleştirilir.

Eğer c bir ^ ile başlıyorsa, sonraki karakterler işlemleri yoksayılacak (hariç tutulacak) bir komut adını belirtir.

Eğer c bir eğik çizgi ('/') ile başlayıp bitiyorsa, eğik çizgiler arasındaki karakterler bir düzenli ifade (regular expression) olarak yorumlanır. Düzenli ifadedeki kabuk meta karakterleri, kabuk tarafından yorumlanmalarını önlemek için tırnak içine alınmalıdır. Kapanış eğik çizgisini şu niteleyiciler takip edebilir:

b düzenli ifade temel (basic) bir ifadedir. i harflerin büyük/küçük durumunu yoksayar. x düzenli ifade genişletilmiş (extended) bir ifadedir (varsayılan).

Temel ve genişletilmiş düzenli ifadeler hakkında daha fazla bilgi için lsof FAQ'ına bakın (FAQ bölümü konumunu belirtir).

İlk olarak basit komut belirtimi test edilir. Bu test başarısız olursa, komut düzenli ifadesi uygulanır. Basit komut testi başarılı olursa, komut düzenli ifadesi testi yapılmaz. Bu durum, lsof'un -V seçeneği belirtildiğinde "düzenli ifade için komut bulunamadı:" mesajlarıyla sonuçlanabilir.

+c w, COMMAND sütununda yazdırılacak olan ve bir işlemle ilişkili UNIX komutunun, UNIX türevi tarafından sağlanan adının maksimum başlangıç karakter sayısını tanımlar. (Lsof varsayılan değeri dokuzdur.)

Birçok UNIX türevinin, lsof'un komut adını elde ettiği dosya ve yapılarda komut adının tüm karakterlerini lsof'a sağlamadığını unutmayın. Genellikle türevler, bu kaynaklarda sağlanan karakter sayısını sınırlar. Örneğin, Linux 2.4.27 ve Solaris 9'un her ikisi de komut adı uzunluğunu 16 karakterle sınırlar.

Wait sıfır ('0') ise, UNIX türevi tarafından lsof'a sağlanan tüm komut karakterleri yazdırılacaktır.

If w, sütun başlığı olan "COMMAND" uzunluğundan küçükse, bu uzunluğa yükseltilecektir.

  • -C: Çekirdeğin ad önbelleğinden (name cache) herhangi bir yol adı bileşeninin raporlanmasını devre dışı bırakır. Daha fazla bilgi için ÇEKİRDEK AD ÖNBELLEĞİ bölümüne bakın.

+d s, lsof'un s dizininin tüm açık örneklerini ve en üst düzeyde içerdiği dosya ve dizinleri aramasını sağlar. +d, s köklü dizin ağacında AŞAĞIYA İNMEZ. D dizininde köklenen tam bir dizin ağacı araması talep etmek için +D D seçeneği kullanılabilir.

-x veya -x l seçeneği de belirtilmedikçe, +d seçeneğinin işlenmesi s içindeki sembolik bağlantıları takip etmez. Ayrıca, -x veya -x f seçeneği de belirtilmedikçe, s'nin alt dizinlerindeki dosya sistemi bağlama noktalarında açık dosyaları aramaz.

Not: Bu seçeneği kullanan kullanıcının yetkisi, aramayı yalnızca kullanıcının sistemin stat(2) işleviyle inceleme iznine sahip olduğu dosyalarla sınırlar.

-d s, çıktı listesinden hariç tutulacak veya listeye dahil edilecek dosya tanımlayıcılarının (FD'ler) bir listesini belirtir. Dosya tanımlayıcıları, virgülle ayrılmış s kümesinde belirtilir - örneğin, "cwd,1,3", "^6,^2". (Kümede boşluk olmamalıdır.)

Kümenin tüm girdileri ^ ile başlıyorsa liste bir hariç tutma listesidir. Hiçbir girdi ^ ile başlamıyorsa bir dahil etme listesidir. Karışık listelere izin verilmez.

Kümede, her iki üye de boş olmadığı, her iki üye de sayı olduğu ve bitiş üyesi başlangıç üyesinden büyük olduğu sürece bir dosya tanımlayıcı sayı aralığı bulunabilir - örneğin, "0-7" veya "3-10". Aralıklarda ^ öneki varsa hariç tutma için belirtilebilirler - örneğin, "^0-7" 0'dan 7'ye kadar olan tüm dosya tanımlayıcılarını hariç tutar.

Birden fazla dosya tanımlayıcı numarası, VE seçeneği seçimine katılmadan önce tek bir VEYAlanmış kümede birleştirilir.

Kümede hem hariç tutma hem de dahil etme üyeleri olduğunda, lsof bunları hata olarak bildirir ve sıfır olmayan bir dönüş koduyla çıkar.

Dosya tanımlayıcı adları hakkında daha fazla bilgi için ÇIKTI bölümündeki Dosya Tanımlayıcı (FD) çıktı değerleri açıklamasına bakın.

+D D, lsof'un D dizininin tüm açık örneklerini ve tam derinliğine kadar içerdiği tüm dosya ve dizinleri aramasını sağlar.

-x veya -x l seçeneği de belirtilmedikçe, +D seçeneğinin işlenmesi D içindeki sembolik bağlantıları takip etmez. Ayrıca, -x veya -x f seçeneği de belirtilmedikçe, D'nin alt dizinlerindeki dosya sistemi bağlama noktalarında açık dosyaları aramaz.

Not: Bu seçeneği kullanan kullanıcının yetkisi, aramayı yalnızca kullanıcının sistemin stat(2) işleviyle inceleme iznine sahip olduğu dosyalarla sınırlar.

Daha fazla not: lsof bu seçeneği yavaş işleyebilir ve bunu yapmak için büyük miktarda dinamik bellek gerektirebilir. Bunun nedeni, D'de köklenen tüm dizin ağacından aşağı inmeli, her dosya ve dizin için stat(2) çağırmalı, bulduğu tüm dosyaların bir listesini oluşturmalı ve bu listede her açık dosya ile eşleşme aramalıdır. D dizini büyük olduğunda, bu adımlar uzun zaman alabilir, bu nedenle bu seçeneği tedbirli kullanın.

  • -D D, lsof'un aygıt önbellek dosyası kullanımını yönlendirir.: Bu seçeneğin kullanımı bazen sınırlandırılmıştır. Bu seçenek hakkında daha fazla bilgi için AYGIT ÖNBELLEK DOSYASI bölümüne ve bunu takip eden bölümlere bakın.

-D'den sonra bir işlev harfi gelmelidir; işlev harfini isteğe bağlı olarak bir yol adı takip edebilir. Lsof bu işlev harflerini tanır:

? - aygıt önbellek dosyası yollarını bildir b - aygıt önbellek dosyasını oluştur i - aygıt önbellek dosyasını yoksay r - aygıt önbellek dosyasını oku u - aygıt önbellek dosyasını oku ve güncelle

b, r ve u işlevleri, bir yol adı eşliğinde bazen sınırlandırılmıştır. Bu işlevler sınırlandırıldığında, -h veya -? seçeneği çıktısına eşlik eden -D seçeneğinin açıklamasında görünmeyeceklerdir. Bu işlevler ve ne zaman sınırlandırıldıkları hakkında daha fazla bilgi için AYGIT ÖNBELLEK DOSYASI bölümüne ve bunu takip eden bölümlere bakın.

? işlevi, lsof'un aygıt önbellek dosyası için kullanabileceği salt okunur ve yazma yollarını, lsof'un aygıt önbellek dosyası yolunu oluştururken değerlerini inceleyeceği çevre değişkenlerinin adlarını ve kişisel aygıt önbellek dosyası yolunun biçimini bildirir. (Kabuğunuzun gerektirdiği şekilde ? karakterinden kaçış karakteriyle kaçının.)

Mevcut olduğunda, b, r ve u işlevlerini aygıt önbellek dosyasının yolu takip edebilir. Standart varsayılan değer, lsof'u yürüten gerçek kullanıcı kimliğinin ev dizinindeki .lsof_hostname dosyasıdır, ancak bu, lsof yapılandırılıp derlenirken değiştirilmiş olabilir. (-h ve -? seçeneklerinin çıktısı geçerli varsayılan öneki gösterir - örneğin, ".lsof".) Son ek olan hostname, gethostname(2) tarafından döndürülen ana bilgisayar adının ilk bileşenidir.

Mevcut olduğunda, b işlevi lsof'u varsayılan veya belirtilen yolda yeni bir aygıt önbellek dosyası oluşturmaya yönlendirir.

i işlevi lsof'u varsayılan aygıt önbellek dosyasını yoksaymaya ve aygıtlar hakkındaki bilgilerini çekirdeğe doğrudan çağrılar yaparak almaya yönlendirir.

r işlevi lsof'u varsayılan veya belirtilen yoldaki aygıt önbelleğini okumaya yönlendirir, ancak hiçbir önbellek dosyası mevcut olmadığında veya mevcut olan düzgün yapılandırılmadığında yeni bir aygıt önbellek dosyası oluşturmasını engeller. r işlevi, bir yol adı olmadan belirtildiğinde, lsof'un hatalı veya güncel olmayan bir aygıt önbellek dosyasını güncellemesini veya yerine yenisini oluşturmasını engeller. r işlevi, bir yol adı bağımsız değişkeni olmadan belirtildiğinde her zaman kullanılabilir; lsof işleminin izinleriyle sınırlandırılabilir.

Mevcut olduğunda, u işlevi lsof'u mümkünse varsayılan veya belirtilen yoldaki aygıt önbellek dosyasını okumaya ve gerekirse yeniden oluşturmaya yönlendirir. Herhangi bir -D seçeneği belirtilmediğinde varsayılan aygıt önbellek dosyası işlevi budur.

+|-e s yolu s olan dosya sistemini, engelleyebilecek çekirdek işlev çağrılarına tabi tutulmaktan muaf tutar. +e seçeneği stat(2), lstat(2) ve çoğu readlink(2) çekirdek işlev çağrılarını muaf tutar. -e seçeneği yalnızca stat(2) ve lstat(2) çekirdek işlev çağrılarını muaf tutar. Birden fazla dosya sistemi, ayrı +|-e belirtimleriyle belirtilebilir ve her birinin readlink(2) çağrıları muaf tutulabilir veya tutulmayabilir.

Bu seçenek şu anda yalnızca Linux için uygulanmıştır.

DİKKAT: Bu seçenek, güvenilir aygıt ve inode numaraları yerine yol adını kullandığından, ilgilenilen dosya sisteminden başkasına kolayca yanlış uygulanabilir. (Aygıt ve inode numaraları potansiyel olarak engelleyici stat(2) çekirdek çağrısı aracılığıyla elde edilir ve bu nedenle mevcut değildir, ancak aygıt numaralarını sağlamanın olası bir alternatifi olarak +|-m m seçeneğine bakın.) Bu seçeneği büyük bir dikkatle kullanın ve muaf tutulacak dosya sisteminin yol adını tam olarak belirtin.

Muaf tutulan dosya sistemlerindeki açık dosyalar bildirildiğinde, tüm bilgilerinin elde edilmesi mümkün olmayabilir. Bu nedenle, bazı bilgi sütunları boş kalacak, TYPE sütunundaki değerlerin önüne "UNKN" karakterleri eklenecek ve geçerli muafiyet seçeneği NAME sütununun sonuna parantez içinde eklenecektir. (Bazı aygıt numarası bilgileri +|-m m seçeneği aracılığıyla sağlanabilir.)

+|-E +E, Linux pipe (boru hattı), Linux UNIX soket ve Linux sözde terminal (pseudoterminal) dosyalarının uç nokta (endpoint) bilgileriyle birlikte görüntülenmesini ve uç noktaların dosyalarının da görüntülenmesini belirtir. Not: UNIX soket dosyası uç nokta bilgisi yalnızca -v çıktısının derleme bayrakları (compile flags) satırı HASUXSOCKEPT içerdiğinde kullanılabilirdir ve sözde terminal uç nokta bilgisi yalnızca derleme bayrakları satırı HASPTYEPT içerdiğinde kullanılabilirdir.

Boru hattı uç nokta bilgisi, NAME sütununda "PID,cmd,FDmode" biçiminde görüntülenir; burada PID uç nokta işlem kimliğidir; cmd uç nokta işlem komutudur; FD uç nokta dosya tanımlayıcısıdır; ve mode uç nokta dosyasının erişim modudur.

Sözde terminal uç nokta bilgisi, NAME sütununda "->/dev/ptsmin PID,cmd,FDmode" veya "PID,cmd,FDmode" şeklinde görüntülenir. İlk biçim bir birincil aygıt içindir; ikincisi ise bir kopya (replica) aygıt içindir. min bir kopya aygıtın alt aygıt numarasıdır; ve PID, cmd, FD ile mode boru hattı uç nokta bilgisiyle aynıdır. Not: sözde terminal uç nokta bilgisi yalnızca -V çıktısının derleme bayrakları satırı HASPTYEPT içerdiğinde kullanılabilirdir.

UNIX soket dosyası uç nokta bilgisi, NAME sütununda "type=TYPE ->INO=INODE PID,cmd,FDmode" biçiminde görüntülenir; burada TYPE soket türüdür; INODE bağlı soketin i-node numarasıdır; ve PID, cmd, FD ile mode boru hattı uç nokta bilgisiyle aynıdır. Not: UNIX soket dosyası uç nokta bilgisi yalnızca -v çıktısının derleme bayrakları satırı HASUXSOCKEPT içerdiğinde kullanılabilirdir.

Bu bilgilerin birden fazla örneği bir dosyanın NAME sütununda görünebilir.

-E, Linux pipe ve Linux UNIX soket dosyalarının uç nokta bilgileriyle görüntülenmesini, ancak uç noktaların dosyalarının görüntülenmemesini belirtir.

+|-f [cfgGn] f tek başına kullanıldığında yol adı bağımsız değişkenlerinin nasıl yorumlanacağını netleştirir. Bunu herhangi bir kombinasyonda c, f, g, G veya n takip ettiğinde, çekirdek dosya yapısı bilgilerinin listelenmesinin etkinleştirileceğini ('+') veya engelleneceğini ('-') belirtir.

Normalde, bir yol adı bağımsız değişkeni, mount(8) tarafından bildirilen bağlanan dizin adıyla eşleşiyorsa veya mount çıktısında adı geçen ve bağlanan bir dizin adıyla ilişkili bir blok aygıtını temsil ediyorsa bir dosya sistemi adı olarak kabul edilir. +f belirtildiğinde, tüm yol adı bağımsız değişkenleri dosya sistemi adları olarak kabul edilir ve lsof herhangi biri öyle değilse şikayet eder. Bu, örneğin dosya sistemi adı (bağlanan aygıt) bir blok aygıtı olmadığında yararlı olabilir. Bu durum bazı CD-ROM dosya sistemlerinde gerçekleşir.

-f tek başına belirtildiğinde, tüm yol adı bağımsız değişkenleri basit dosyalar olarak kabul edilir. Dolayısıyla, örneğin "-f -- /" bağımsız değişkenleri lsof'u "/" (kök) dosya sistemindeki tüm açık dosyaları değil, "/" yol adına sahip açık dosyaları aramaya yönlendirir.

+f ve -f seçeneklerinin düzgün şekilde sonlandırıldığından ve arkasından parametre olarak alınabilecek bir karakterin (örneğin dosya veya dosya sistemi adından) gelmediğinden emin olun. Örneğin, bu örneklerde olduğu gibi +f ve -f'den sonra "--" kullanın.

$ lsof +f -- /dosya/sistemi/adi $ lsof -f -- /dosya/adi

+f [cfgGn] seçeneği biçimiyle talep edilen çekirdek dosya yapılarından bilgi listeleme normalde engellenir ve bazı türevler için tamamen veya kısmen mevcut değildir - örneğin 2.6.22 altındaki /proc tabanlı Linux çekirdekleri. f öneki bir artı işareti ('+') olduğunda, bu karakterler dosya yapısı bilgisini talep eder:

c dosya yapısı kullanım sayısı (Linux hariç) f dosya yapısı adresi (Linux hariç) g dosya bayrağı kısaltmaları (Linux 2.6.22 ve üzeri) G onaltılık (hexadecimal) dosya bayrakları (Linux 2.6.22 ve üzeri) n dosya yapısı düğüm adresi (Linux hariç)

Önek eksi ('-') olduğunda, aynı karakterler belirtilen değerlerin listelenmesini devre dışı bırakır.

Dosya yapısı adresleri, kullanım sayıları, bayraklar ve düğüm adresleri, alt işlemler tarafından devralınan aynı dosyaları ve farklı işlemler tarafından kullanımda olan aynı dosyaları daha kolay tespit etmek için kullanılabilir. Lsof sütun çıktısı, değerleri tutan çıktı sütunlarına göre sıralanabilir ve aynı dosya kullanımını belirlemek için listelenebilir veya lsof alan çıktısı bir AWK veya Perl son filtreleme betiği ya da bir C programı tarafından ayrıştırılabilir.

-F f, başka bir program tarafından işlenmek üzere çıktı alınacak alanları seçen bir karakter listesi f'yi ve her çıktı alanını sonlandıran karakteri belirtir. Çıktı alınacak her alan f içindeki tek bir karakterle belirtilir. Alan sonlandırıcı varsayılan olarak NL'dir (yeni satır), ancak NUL (000) olarak değiştirilebilir. Alan tanımlayıcı karakterlerin açıklaması ve alan çıktı işlemi için DİĞER PROGRAMLAR İÇİN ÇIKTI bölümüne bakın.

Alan seçimi karakter listesi boş olduğunda, tüm standart alanlar seçilir (uyumluluk nedenleriyle ham aygıt alanı, güvenlik bağlamı ve bölge alanı hariç) ve NL alan sonlandırıcısı kullanılır.

Alan seçimi karakter listesi yalnızca sıfır ('0') içerdiğinde, tüm alanlar seçilir (uyumluluk nedenleriyle ham aygıt alanı hariç) ve NUL sonlandırıcı karakteri kullanılır.

Alanların ve bunlarla ilişkili alan sonlandırıcı karakterlerin diğer kombinasyonları, DİĞER PROGRAMLAR İÇİN ÇIKTI bölümünde açıklandığı gibi f içinde açık girdilerle ayarlanmalıdır.

Bir alan seçim karakteri lsof'un normalde listelemediği bir öğeyi tanımladığında - örneğin -R ile seçilen PPID - alan karakterinin belirtilmesi - örneğin "-FR" - o öğenin de listelenmesini seçer.

Alan seçim karakter listesi tek bir ? karakteri içerdiğinde, lsof alan tanımlama karakterlerinin bir yardım listesini görüntüler. (Kabuğunuzun gerektirdiği şekilde ? karakterinden kaçış karakteriyle kaçının.)

-g [s] isteğe bağlı işlem grubu kimlik (PGID) numaraları virgülle ayrılmış s kümesinde bulunan işlemler için dosyaların listelenmesini hariç tutar veya seçer - örneğin "123" veya "123,^456". (Kümede boşluk olmamalıdır.)

^ (değilleme) ile başlayan PGID numaraları hariç tutmaları temsil eder.

Birden fazla PGID numarası, VE seçeneği seçimine katılmadan önce tek bir VEYAlanmış kümede birleştirilir. Ancak, PGID hariç tutmaları VEYAlama veya VElama yapılmadan uygulanır ve diğer seçim kriterleri uygulanmadan önce yürürlüğe girer.

-g seçeneği ayrıca PGID numaralarının çıktı ekranını etkinleştirir. Bir PGID kümesi olmadan belirtildiğinde yaptığı tek şey budur.

-i [i] İnternet adresi i içinde belirtilen adresle eşleşen dosyaların listelenmesini seçer. Hiçbir adres belirtilmezse, bu seçenek tüm İnternet ve x.25 (HP-UX) ağ dosyalarının listelenmesini seçer.

Ardından bir adres gelmeden -i4 or -i6 belirtilirse, yalnızca belirtilen IP sürümündeki (IPv4 veya IPv6) dosyalar görüntülenir. (Bir IPv6 belirtimi, yalnızca türev IPv6'yı destekliyorsa kullanılabilir, bu durum lsof'un -h veya -? çıktısındaki "[46]" ve "IPv[46]" ile belirtilir.) Sırayla -i4'ü ardından -i6'yı belirtmek -i belirtmekle aynıdır ve tersi de geçerlidir. -i'den sonra -i4 veya -i6 belirtmek, tek başına -i4 veya -i6 belirtmekle aynıdır.

Birden fazla -i seçeneği ile birden fazla adres (100 sınırına kadar) belirtilebilir. (Bir bağlantı noktası numarası veya hizmet adı aralığı tek bir adres olarak sayılır.) VE seçeneği seçimine katılmadan önce tek bir VEYAlanmış kümede birleştirilir.

Bir İnternet adresi aşağıdaki biçimde belirtilir (Köşeli parantez içindeki öğeler isteğe bağlıdır.):

[46][protocol][@hostname|hostaddr][:service|port]

burada: 46, sonraki adrese uygulanan IP sürümünü, IPv4 veya IPv6'yı belirtir. '6' yalnızca UNIX türevi IPv6'yı destekliyorsa belirtilebilir. Ne '4' ne de '6' belirtilmezse, sonraki adres tüm IP sürümlerine uygulanır. protocol bir protokol adıdır - TCP, UDP hostname bir İnternet ana bilgisayar adıdır. Belirli bir IP sürümü belirtilmedikçe, tüm sürümlerin ana bilgisayar adlarıyla ilişkili açık ağ dosyaları seçilecektir. hostaddr, nokta biçiminde sayısal bir İnternet IPv4 adresi; veya UNIX türevi IPv6'yı destekliyorsa, köşeli parantez içine alınmış iki nokta üst üste biçiminde sayısal bir IPv6 adresidir. Bir IP sürümü seçildiğinde, yalnızca onun sayısal adresleri belirtilebilir. service bir /etc/services adıdır - örneğin smtp - veya bunların bir listesidir. port bir port numarası veya bunların bir listesidir.

IPv6 seçenekleri yalnızca UNIX türevi IPv6'yı destekliyorsa kullanılabilir. Türevin IPv6'yı destekleyip desteklemediğini görmek için lsof'u çalıştırın ve -h veya -? (yardım) seçeneğini belirtin. Görüntülenen -i seçeneği açıklaması "[46]" ve "IPv[46]" içeriyorsa, IPv6 destekleniyor demektir.

Ağ dosyası seçimi -i 6 ile IPv6 ile sınırlandırılmışsa IPv4 ana bilgisayar adları ve adresleri belirtilemez. Ağ dosyası seçimi -i 4 ile IPv4 ile sınırlandırılmışsa IPv6 ana bilgisayar adları ve adresleri belirtilemez. Açık bir IPv4 ağ dosyasının adresi bir IPv6 adresine eşlendiğinde, açık dosyanın türü IPv4 değil, IPv6 olacaktır ve gösterimi '4' ile değil, '6' ile seçilecektir.

En az bir adres bileşeni - 4, 6, protocol, hostname, hostaddr veya service - sağlanmalıdır. Ana bilgisayar belirtiminin önündeki @ karakteri her zaman gereklidir; port belirtiminin önündeki : karakteri de öyle. Ya hostname ya da hostaddr belirtin. Ya hizmet adı listesini ya da port numarası listesini belirtin. Bir hizmet adı listesi belirtilirse, hizmet adı için TCP, UDP ve UDPLITE port numaraları farklıysa protokolün de belirtilmesi gerekebilir. Protokol için herhangi bir harf durumunu (küçük veya büyük) kullanın.

Hizmet adları ve port numaraları, girdileri virgülle ayrılmış ve sayısal aralık girdileri eksi işaretleriyle ayrılmış bir listede birleştirilebilir. Gömülü boşluk olamaz ve tüm hizmet adları belirtilen protokole ait olmalıdır. Hizmet adları gömülü eksi işaretleri içerebileceğinden, bir aralığın başlangıç girdisi bir hizmet adı olamaz; ancak bir port numarası olabilir.

İşte bazı örnek adresler:

-i6 - yalnızca IPv6 TCP:25 - TCP ve port 25 @1.2.3.4 - İnternet IPv4 ana bilgisayar adresi 1.2.3.4 @[3ffe:1ebc::1]:1234 - İnternet IPv6 ana bilgisayar adresi 3ffe:1ebc::1, port 1234 UDP:who - UDP who hizmet portu TCP@lsof.itap:513 - TCP, port 513 ve ana bilgisayar adı lsof.itap tcp@foo:1-10,smtp,99 - TCP, port 1'den 10'a kadar, hizmet adı smtp, port 99, ana bilgisayar adı foo tcp@bar:1-smtp - TCP, port 1'den smtp'ye kadar, ana bilgisayar bar :time - TCP, UDP veya UDPLITE time hizmet portu

-K k, görev (iş parçacığı) raporlamasının desteklendiği türevlerde, işlemler의 görevlerinin (iş parçacıklarının) listelenmesini seçer. (Yardım çıktısı - yani -h veya -? seçeneklerinin çıktısı - bu seçeneği gösteriyorsa, o zaman görev (iş parçacığı) raporlaması türev tarafından destekleniyor demektir.)

If -K'den sonra bir değer gelirse, bu "i" olmalıdır. Bu, özellikle başka hiçbir seçenek belirtilmediğinde varsayılan olan her şeyi listeleme durumunda, lsof'un görevleri yoksaymasına neden olur.

Linux'ta hem -K hem de -a belirtildiğinde ve bir ana işlemin görevleri diğer seçeneklerle seçildiğinde, ana işlem de bir görevmiş gibi ancak bir görev kimliği (TID) olmadan listelenecektir. (ÇIKTI bölümündeki TID sütununun açıklamasına bakın.)

FreeBSD sürümünün iş parçacıklarını desteklediği durumlarda, tüm iş parçacıkları kimlikleriyle birlikte listelenecektir.

Genel olarak iş parçacıkları ve görevler çağıranın dosyalarını devralır, ancak bazılarını kapatıp diğerlerini açabilirler, bu nedenle lsof her zaman iş parçacıklarının ve görevlerin tüm açık dosyalarını bildirir.

  • -k k, /vmunix, /mach vb. yerine bir çekirdek ad listesi dosyası k belirtir.: -k, IBM RISC/System 6000 üzerindeki AIX altında mevcut değildir.

  • -l: kullanıcı kimliği numaralarının oturum açma adlarına dönüştürülmesini engeller. Oturum açma adı araması düzgün çalışmadığında veya yavaş çalıştığında da yararlıdır.

+|-L [l] dosya bağlantı sayılarının (link counts) mevcut olduğu durumlarda listelenmesini etkinleştirir ('+') veya devre dışı bırakır ('-') - örneğin soketler veya çoğu FIFO ve boru hattı için mevcut değildir.

+L arkasında bir sayı olmadan belirtildiğinde, tüm bağlantı sayıları listelenecektir. -L belirtildiğinde (varsayılan), hiçbir bağlantı sayısı listelenmeyecektir.

+L'yi bir sayı takip ettiğinde, yalnızca bağlantı sayısı bu sayıdan küçük olan dosyalar listelenecektir. (-L'yi hiçbir sayı takip edemez.) "+L1" biçimindeki bir belirtim, bağlantısı kesilmiş (unlinked) açık dosyaları seçecektir. "+aL1 " biçimindeki bir belirtim, belirtilen dosya sistemindeki bağlantısı kesilmiş açık dosyaları seçecektir.

Diğer bağlantı sayısı karşılaştırmaları için alan çıktısını (-F) ve bir son işlem betiğini veya programını kullanın.

+|-m m alternatif bir çekirdek bellek dosyası belirtir veya bağlama tablosu ek işlemcisini etkinleştirir.

-m m seçenek biçimi, /dev/kmem veya /dev/mem yerine alternatif bir çekirdek bellek dosyası m belirtir - örneğin bir sistem çökme dökümü (crash dump) dosyası.

+m seçenek biçimi, standart çıktı dosyasına bir bağlama ek (mount supplement) dosyasının yazılmasını talep eder. Diğer tüm seçenekler sessizce yoksayılır.

Bağlama ek dosyasında, bağlanan her dosya sistemi için bir satır bulunacaktır; bu satır bağlanan dosya sistemi dizinini, ardından tek bir boşluğu ve ardından onaltılık "0x" biçimindeki aygıt numarasını içerir - örneğin:

/ 0x801

Lsof, stat(2) veya lstat(2) aracılığıyla elde edemediğinde dosya sistemleri için aygıt numaralarını almak üzere bağlama ek dosyasını kullanabilir.

+m m seçenek biçimi, m'yi bir bağlama ek dosyası olarak tanımlar.

Not: +m ve +m m seçenekleri desteklenen tüm türevler için mevcut değildir. +m ve +m m seçeneklerinin mevcut olup olmadığını görmek için lsof'un -h or -? seçeneklerinin çıktısını kontrol edin.

+|-M Bağlantı noktası eşleme (port mapping) desteklendiğinde, yerel TCP, UDP ve UDPLITE portları için portmapper kayıtlarının raporlanmasını etkinleştirir (+) veya devre dışı bırakır (-). (Portmapper kayıt raporlamasının nerede desteklendiği hakkında bilgi için bu seçenek açıklamasının son paragrafına bakın.)

Varsayılan raporlama modu, lsof derleyicisi tarafından türevin machine.h başlık dosyasındaki HASPMAPENABLED #define tanımı ile ayarlanır; lsof, HASPMAPENABLED #define tanımı devre dışı bırakılmış olarak dağıtılır, bu nedenle portmapper raporlaması varsayılan olarak devre dışıdır ve +M ile talep edilmelidir. Lsof'un -h veya -? seçeneğinin belirtilmesi varsayılan modu bildirecektir. Zaten devre dışı bırakılmışken portmapper kaydının devre dışı bırakılması veya zaten etkinken etkinleştirilmesi kabul edilebilirdir. Portmapper kayıt raporlaması etkinleştirildiğinde, lsof, yerel TCP, UDP veya UDPLITE portları için portmapper kaydını (varsa), port numaralarının veya hizmet adlarının hemen ardından köşeli parantez içinde görüntüler - örneğin ":1234[ad]" veya ":ad[100083]". Kayıt bilgisi, kaydeden programın portu kaydederken portmapper'a ne sağladığına bağlı olarak bir ad veya numara olabilir.

Portmapper kayıt raporlaması etkinleştirildiğinde, portmapper'a erişim tıkandığında veya durduğunda lsof biraz daha yavaş çalışabilir veya hatta engellenebilir. Portmapper kayıt raporlamasının lsof'u yavaşlatıp yavaşlatmadığını veya engelleyip engellemediğini belirlemek için raporlama modunu tersine çevirin.

Portmapper kayıt raporlaması amacıyla lsof, aşağıdaki durumlarda bir TCP, UDP veya UDPLITE portunu yerel olarak kabul eder: içeren çekirdek yapısının yerel kısmında bulunuyorsa; veya içeren çekirdek yapısının yabancı kısmında bulunuyorsa ve yerel ile yabancı İnternet adresleri aynıysa; veya içeren çekirdek yapısının yabancı kısmında bulunuyorsa ve yabancı İnternet adresi INADDR_LOOPBACK (127.0.0.1) ise. Bu kural, yabancı İnternet adresi yerel olandan farklı bir arayüzde olduğunda, birden fazla arayüze sahip makinelerde lsof'un bazı yabancı portları yoksaymasına neden olabilir.

Portmapper kayıt raporlama sorunlarının daha detaylı tartışılması için lsof FAQ'ına bakın (FAQ bölümü konumunu belirtir).

Portmapper kayıt raporlaması yalnızca RPC başlık dosyalarına sahip türevlerde desteklenir. (GlibC 2.14'e sahip bazı Linux dağıtımlarında bunlar bulunmaz.) Portmapper kayıt raporlaması desteklendiğinde, -h veya -? yardım çıktısı +|-M seçeneğini gösterecektir.

  • -n: ağ dosyaları için ağ numaralarının ana bilgisayar adlarına dönüştürülmesini engeller. Dönüştürmenin engellenmesi lsof'un daha hızlı çalışmasını sağlayabilir. Host adı aramasının düzgün çalışmadığı durumlarda da yararlıdır.

  • -N: NFS dosyalarının listelenmesini seçer.

  • -o: lsof'un her zaman dosya ofsetini görüntülemesini sağlar. SIZE/OFF çıktı sütun başlığının OFFSET olarak değiştirilmesine neden olur. Not: bazı UNIX türevlerinde lsof, çekirdek veri kaynaklarından doğru veya tutarlı dosya ofseti bilgisi elde edemez, bazen bu durum yalnızca belirli dosya türleri (örneğin soket dosyaları) için geçerlidir. Daha fazla bilgi için lsof FAQ'ına bakın (FAQ bölümü konumunu belirtir).

-o ve -s seçenekleri birbirini dışlar; ikisi birden belirtilemez. Hiçbiri belirtilmediğinde lsof, dosyanın türü için uygun ve mevcut olan değeri - boyut veya ofset - görüntüler.

-o o, biçim "0x..."e geçmeden önce bir dosya ofseti için "0t"den sonra yazdırılacak ondalık basamak sayısını (o) tanımlar. Sıfır (sınırsız) olan bir o değeri, lsof'u tüm ofset çıktıları için "0t" biçimini kullanmaya yönlendirir.

Bu seçenek lsof'u her zaman ofseti görüntülemeye YÖNLENDİRMEZ; bunu yapmak için -o (arkasından bir sayı gelmeden) belirtin. -o o, yalnızca karışık boyut ve ofset çıktısında veya yalnızca ofset çıktısında "0t"den sonraki basamak sayısını belirtir. Dolayısıyla, örneğin lsof'u 10 ondalık basamak sayısıyla her zaman ofseti görüntülemeye yönlendirmek için şunu kullanın:

-o -o 10 veya -oo10

"0t"den sonra izin verilen varsayılan basamak sayısı normalde 8'dir, ancak lsof derleyicisi tarafından değiştirilmiş olabilir. Yürürlükteki varsayılanı belirlemek için -h veya -? seçeneğinin çıktısındaki -o o seçeneğinin açıklamasına bakın.

  • -O: lsof'u bazı çekirdek işlemleri tarafından engellenmesini önlemek için kullandığı stratejiyi - yani bunları çatallanmış (forked) alt işlemlerde yapma stratejisini - baypas etmeye yönlendirir. Lsof'u engelleyebilecek çekirdek işlemleri hakkında daha fazla bilgi için ENGELLEMELER VE ZAMAN AŞIMLARI ile ÇEKİRDEK ENGELLEMELERİNDEN KAÇINMA bölümlerine bakın.

Bu seçeneğin kullanılması lsof başlatma ek yükünü azaltacak olsa da, çekirdek bir işleve yanıt vermediğinde lsof'un askıda kalmasına (hang) da neden olabilir. Bu seçeneği dikkatli kullanın.

-p s, isteğe bağlı işlem kimlik (PID) numaraları virgülle ayrılmış s kümesinde bulunan işlemler için dosyaların listelenmesini hariç tutar veya seçer - örneğin "123" veya "123,^456". (Kümede boşluk olmamalıdır.)

^ (değilleme) ile başlayan PID numaraları hariç tutmaları temsil eder.

Birden fazla işlem kimlik numarası, VE seçeneği seçimine katılmadan önce tek bir VEYAlanmış kümede birleştirilir. Ancak, PID hariç tutmaları VEYAlama veya VElama yapılmadan uygulanır ve diğer seçim kriterleri uygulanmadan önce yürürlüğe girer.

  • -P: ağ dosyaları için port numaralarının port adlarına dönüştürülmesini engeller. Dönüştürmenin engellenmesi lsof'un biraz daha hızlı çalışmasını sağlayabilir. Port adı aramasının düzgün çalışmadığı durumlarda da yararlıdır.

+|-r [t[m]] lsof'u tekrarlama moduna sokar. Burada lsof, diğer seçeneklerle seçilen açık dosyaları listeler, t saniye (varsayılan on beş) gecikir, ardından listelemeyi tekrarlar; seçeneğin önekiyle tanımlanan bir koşulla durdurulana kadar tekrarlı olarak gecikir ve listeler.

If the prefix is a -, tekrarlama modu sonsuzdur. Lsof bir kesme (interrupt) veya çıkış (quit) sinyaliyle sonlandırılmalıdır.

If the prefix is +, tekrarlama modu hiçbir açık dosya listelenmediği ilk döngüde sona erer - ve tabii ki lsof bir kesme veya çıkış sinyaliyle durdurulduğunda. Tekrarlama modu hiçbir dosya listelenmediği için sona erdiğinde, şimdiye kadar herhangi bir açık dosya listelenmişse işlemin çıkış kodu sıfır; hiç listelenmemişse bir olacaktır.

Lsof her listelemenin sonunu işaretler: alan çıktısı devam ediyorsa (-F seçeneği belirtilmişse), varsayılan işaretçi m'dir; aksi takdirde varsayılan işaretçi "========" şeklindedir. İşaretçiyi bir NL karakteri takip eder.

İsteğe bağlı "m" bağımsız değişkeni, işaretçi satırı için bir biçim belirtir. m'den sonraki karakterleri, türevin C kütüphanesinde hem strftime(3) hem de localtime(3) işlevleri mevcut olduğunda strftime(3) işlevine yönelik bir biçim belirtimi olarak yorumlanır. Biçim belirtiminde nelerin görünebileceğini öğrenmek için strftime(3) belgelerine bakın. -F seçeneği ile alan çıktısı talep edildiğinde 'in NL biçimi olan "%n"i içeremeyeceğini unutmayın. boşluklar veya kabuğun bağımsız değişkenleri yorumlamasını etkileyen diğer karakterleri içerdiğinde, 'in uygun şekilde tırnak içine alınması gerektiğini de unutmayın.

Tekrarlama modu lsof başlatma ek yükünü azaltır, bu nedenle bu modu kullanmak, örneğin bir kabuk betiğinden lsof'u tekrarlı olarak çağırmaktan daha verimlidir.

Tekrarlama modunu en verimli şekilde kullanmak için, +|-r seçeneğine diğer lsof seçim seçeneklerinin belirtilmesiyle eşlik edin; böylece lsof'un yaptığı çekirdek bellek erişim miktarı minimumda tutulacaktır. İşlem düzeyinde filtreleme yapan seçenekler - örneğin -c, -g, -p, -u - en verimli seçicilerdir.

Tekrarlama modu, alan çıktısı (bkz. -F seçeneği açıklaması) ve denetleyici bir awk veya Perl betiği ya da bir C programı ile birleştirildiğinde yararlıdır.

  • -R: lsof'u PPID sütununda Üst İşlem Kimlik (Parent Process IDentification) numarasını listelemeye yönlendirir.

-s [p:s] tek başına s, lsof'u her zaman dosya boyutunu görüntülemeye yönlendirir. SIZE/OFF çıktı sütun başlığının SIZE olarak değiştirilmesine neden olur. Dosyanın bir boyutu yoksa hiçbir şey görüntülenmez.

İsteğe bağlı -s p:s biçimi yalnızca seçilen türevler için ve yalnızca -h veya -? yardım çıktısı listelediğinde mevcuttur.

İsteğe bağlı biçim mevcut olduğunda, s'den sonra bir protokol adı (p), TCP veya UDP, bir iki nokta üst üste (:) ve virgülle ayrılmış bir protokol durum adı listesi gelebilir; seçenek, açık TCP ve UDP dosyalarının durum adları başında ^ olan listede (s) yer alıyorsa hariç tutulmasını, başında ^ yoksa dahil edilmesini sağlar.

Bu seçeneği destekleyen türevler yalnızca tek bir protokolü destekleyebilir. Desteklenmeyen bir protokol belirtildiğinde, protokol için durum adlarının mevcut olmadığını belirten bir mesaj görüntülenecektir.

Bir dahil etme listesi tanımlandığında, lsof çıktısında yalnızca listedeki durum adlarına sahip ağ dosyaları bulunacaktır. Dolayısıyla, tek bir durum adı belirtmek, yalnızca o tek durum adına sahip ağ dosyalarının listeleneceği anlamına gelir.

Protokol veya durum adlarında harf büyüklüğü önemsizdir, ancak boşluk olamaz ve protokol adı (p) ile durum adı listesini (s) ayıran iki nokta üst üste (:) gereklidir.

Belirtilen hariç tutmalar ve dahil etmelerle kontrol edildiği üzere, yalnızca TCP ve UDP dosyaları listelenecekse, -i seçeneği de belirtilmelidir. Yalnızca tek bir protokolün dosyaları listelenecekse, adını -i seçeneğine bir bağımsız değişken olarak ekleyin.

Örneğin, yalnızca TCP durumu LISTEN olan ağ dosyalarını listelemek için şunu kullanın:

-iTCP -sTCP:LISTEN

Or, örneğin, Idle dışındaki tüm UDP durumlarına sahip ağ dosyalarını listelemek için şunu kullanın:

-iUDP -sUDP:Idle

Durum adları UNIX türevlerine göre değişir, bu nedenle tam bir liste sağlamak mümkün değildir. Bazı yaygın TCP durum adları şunlardır: CLOSED, IDLE, BOUND, LISTEN, ESTABLISHED, SYN_SENT, SYN_RCDV, ESTABLISHED, CLOSE_WAIT, FIN_WAIT1, CLOSING, LAST_ACK, FIN_WAIT_2 ve TIME_WAIT. İki yaygın UDP durum adı Unbound ve Idle'dır.

Protokol durumu hariç tutma ve dahil etmenin nasıl kullanılacağına ilişkin örnekleri de içeren daha fazla bilgi için lsof FAQ'ına bakın (FAQ bölümü konumunu belirtir).

-o (arkasından bir ondalık basamak sayısı gelmeden) ve -s seçeneği (arkasından bir protokol ve durum adı listesi gelmeden) birbirini dışlar; ikisi birden belirtilemez. Hiçbiri belirtilmediğinde lsof, dosya türü için uygun ve mevcut olan değeri - boyut veya ofset - görüntüler.

Soketler, FIFO'lar, boru hatları vb. gibi bazı dosya türlerinin gerçek boyutları olmadığından lsof, boyutları için mümkünse ilişkili çekirdek arabelleklerindeki içerik miktarlarını görüntüler.

-S [t] aksi takdirde kilitlenmeye (deadlock) neden olabilecek çekirdek işlevleri - lstat(2), readlink(2) ve stat(2) - için isteğe bağlı bir saniye cinsinden zaman aşımı değeri belirtir. t için minimum değer ikidir; varsayılan değer on beştir; hiçbir değer belirtilmediğinde varsayılan değer kullanılır.

Daha fazla bilgi için ENGELLEMELER VE ZAMAN AŞIMLARI bölümüne bakın.

-T [t] ağ adreslerinin ardından netstat(1) tarafından da bildirilen some TCP/TPI bilgilerinin raporlanmasını kontrol eder. Normal çıktıda bilgiler parantez içinde görünür, TCP veya TPI durum adı dışındaki her öğe bir anahtar kelime ile tanımlanır, ardından = gelir ve diğerlerinden tek bir boşlukla ayrılır:

<TCP veya TPI durum adı> QR=<okuma kuyruğu uzunluğu> QS=<gönderme kuyruğu uzunluğu> SO=<soket seçenekleri ve değerleri> SS=<soket durumları> TF=<TCP bayrakları ve değerleri> WR=<pencere okuma uzunluğu> WW=<pencere yazma uzunluğu>

Tüm UNIX türevleri için tüm değerler raporlanmaz. Öğe değerleri (mevcut olduğunda) öğe adından ve '=' karakterinden sonra raporlanır.

Alan çıktı modu etkin olduğunda (Bkz. DİĞER PROGRAMLAR İÇİN ÇIKTI.) her öğe, başında T karakteri bulunan bir alan olarak görünür.

-T ile takip edilmeyen bir anahtar karakter, TCP/TPI bilgi raporlamasını devre dışı bırakır.

Arkasından karakterler gelen -T, belirli TCP/TPI bilgilerinin raporlanmasını seçer:

f soket seçeneklerinin, durumlarının ve değerlerinin ve TCP bayraklarının ve değerlerinin raporlanmasını seçer. q kuyruk uzunluğu raporlamasını seçer. s bağlantı durumu raporlamasını seçer. w pencere boyutu raporlamasını seçer.

Bazı UNIX türevleri için tüm seçimler etkinleştirilmemiştir. Durum tüm türevler için seçilebilir ve varsayılan olarak raporlanır. -T seçeneği için -h veya -? yardım çıktısı, UNIX türeviyle hangi seçimlerin kullanılabileceğini gösterecektir.

Bilgi seçmek için -T kullanıldığında - yani bunu bir veya daha fazla seçim karakteri takip ettiğinde - durumun görüntülenmesi varsayılan olarak devre dışı bırakılır ve -T'den sonraki karakterlerde açıkça yeniden seçilmelidir. (Aslında bu durumda varsayılan -Ts seçeneğine eşdeğerdir.) Örneğin, kuyruk uzunlukları ve durum isteniyorsa, -Tqs kullanın.

Soket seçenekleri, soket durumları, bazı soket değerleri, TCP bayrakları ve bir TCP değeri (UNIX türevinde mevcut olduğunda), türevin başlık dosyalarında - çoğunlukla <sys/socket.h>, <sys/socketvar.h> ve <netinet/tcp_var.h> - yaygın olarak SO_, so_, SS_, TCP_ ve TF_ değerlerinden sonra görünen adlar biçiminde raporlanabilir. Bayrakların, seçeneklerin, durumların ve değerlerin anlamı için bu başlık dosyalarına bakın.

"SO=" socket seçeneklerinden ve değerlerinden önce gelir; "SS=", socket durumlarından; ve "TF=", TCP bayraklarından ve değerlerinden önce gelir.

Bir bayrak veya seçeneğin değeri varsa, değer bir '=' karakterini ve adı takip edecektir -- örneğin "SO=LINGER=5", "SO=QLIM=5", "TF=MSS=512". Aşağıdaki yedi değer raporlanabilir:

Ad Raporlanan Açıklama (Ortak Sembol)

KEEPALIVE canlı tutma süresi (SO_KEEPALIVE) LINGER bekleme süresi (SO_LINGER) MSS maksimum segment boyutu (TCP_MAXSEG) PQLEN kısmi dinleme kuyruğu bağlantıları QLEN kurulmuş dinleme kuyruğu bağlantıları QLIM kurulmuş dinleme kuyruğu sınırı RCVBUF alıcı arabellek uzunluğu (SO_RCVBUF) SNDBUF gönderici arabellek uzunluğu (SO_SNDBUF)

Belirli UNIX türevleri için hangi soket seçeneklerinin ve değerlerinin, soket durumlarının ve TCP bayraklarının ve değerlerinin görüntülenebileceğine ilişkin ayrıntılar, lsof FAQ'ındaki (FAQ bölümü konumunu belirtir) "Neden lsof benim türevim için soket seçeneklerini, soket durumlarını ve TCP bayraklarını ve değerlerini raporlamıyor?" ve "Neden lsof benim türevim için kısmi dinleme kuyruğu bağlantı sayısını raporlamıyor?" sorularının yanıtlarında bulunabilir.

  • -t: lsof'un başlık olmadan yalnızca işlem kimlikleriyle kısa (terse) çıktı üretmesini belirtir - örneğin çıktının kill(1) komutuna yönlendirilebilmesi için. -t seçeneği -w seçeneğini de seçer.

-u s, oturum açma adları veya kullanıcı kimlik numaraları virgülle ayrılmış s kümesinde - örneğin "abe" veya "548,root" - bulunan kullanıcılara ait dosyaların listelenmesini seçer. (Kümede boşluk olmamalıdır.)

Birden fazla oturum açma adı veya kullanıcı kimliği numarası, VE seçeneği seçimine katılmadan önce tek bir VEYAlanmış kümede birleştirilir.

Bir oturum açma adı veya kullanıcı kimliğinin önünde ^ varsa, bu bir değilleme olur - yani o oturum açma adına veya kullanıcı kimliğine sahip işlemlere ait dosyalar asla listelenmez. Değillenmiş bir oturum açma adı veya kullanıcı kimliği seçimi, diğer seçimlerle ne VElanır ne de VEYAlanır; tüm diğer seçimlerden önce uygulanır ve işlemin dosyalarının listelenmesini kesinlikle hariç tutar. Örneğin, lsof'u root işlemlerine ait dosyaların listelenmesini hariç tutmaya yönlendirmek için "-u^root" veya "-u^0" belirtin.

  • -U: UNIX alan (domain) soket dosyalarının listelenmesini seçer.

  • -v: lsof sürüm bilgilerinin listelenmesini seçer, şunlar dahil: revizyon numarası; lsof ikilisinin ne zaman oluşturulduğu; ikiliyi kimin ve nerede oluşturduğu; lsof ikilisini oluşturmak için kullanılan derleyicinin adı; hazır olduğunda derleyicinin sürüm numarası; lsof ikilisini oluşturmak için kullanılan derleyici ve yükleyici (loader) bayrakları; ve genellikle uname'in -a seçeneğinin çıktısı olan sistem bilgisi.

  • -V: lsof'u listelenmesi istenen ancak bulunamayan öğeleri - komut adları, dosya adları, İnternet adresleri veya dosyaları, oturum açma adları, NFS dosyaları, PID'ler, PGID'ler ve UID'ler - belirtmeye yönlendirir.

Diğer seçenekler arama seçenekleriyle VElendiğinde veya derleme zamanı seçenekleri bazı dosyaların listelenmesini kısıtladığında, VElanmış bir seçenek veya derleme zamanı seçeneği bulunan arama öğesini içeren açık dosyanın listelenmesini engellediğinde lsof bir arama öğesini bulamadığını bildirmeyebilir.

Örneğin, "lsof -V -iTCP@foobar -a -d 999" komutu, dosya tanımlayıcı numarası 999 olan herhangi bir dosya yoksa, "TCP@foobar" adresindeki açık dosyaları bulamadığını bildirmeyebilir ve hiçbirini listelemeyebilir. Derleme zamanında HASSECURITY ve HASNOSOCKSECURITY tanımlandığında ve açık dosyaların listelenmesini engellediklerinde de benzer bir durum ortaya çıkar.

+|-w Uyarı mesajlarının bastırılmasını etkinleştirir (+) veya devre dışı bırakır (-).

Lsof derleyicisi uyarı mesajlarını varsayılan olarak devre dışı bırakmayı veya etkinleştirmeyi seçebilir. Varsayılan uyarı mesajı durumu -h veya -? seçeneğinin çıktısında belirtilir. Zaten devre dışıyken uyarı mesajlarını devre dışı bırakmak veya zaten etkinken etkinleştirmek kabul edilebilirdir.

-t seçeneği -w seçeneğini seçer.

-x [fl] dizin (+d) veya dizin ağacı (+D) taranırken karşılaşılan sembolik bağlantıların ve/veya dosya sistemi bağlama noktalarının üzerinden geçilmesi için işlenmesini yönlendirmek amacıyla +d ve +D seçeneklerine eşlik edebilir.

Arkasından bir parametre gelmeden tek başına -x belirtilirse, hem sembolik bağlantıların hem de dosya sistemi bağlama noktalarının üzerinden geçme işlemi etkinleştirilir. -x arkasında bir parametre olmadan belirtildiğinde, bir sonraki bağımsız değişkenin '-' veya '+' ile başlaması gerektiğini unutmayın.

İsteğe bağlı 'f' parametresi dosya sistemi bağlama noktası üzerinden geçme işlemini etkinleştirir; 'l' ise sembolik bağlantı üzerinden geçme işlemini etkinleştirir.

-x seçeneği, beraberinde bir +d veya +D seçeneği de sağlanmadan sağlanamaz.

  • -X: Bu türeve özgü bir seçenektir.

AIX: Bu IBM AIX RISC/System 6000 seçeneği, yürütülen metin dosyası ve paylaşılan kitaplık referanslarının raporlanmasını talep eder.

UYARI: Bu seçenek çekirdek readx() işlevini kullandığından, yoğun bir AIX sisteminde kullanılması bir uygulama işleminin ne sonlandırılabilecek ne de durdurulabilecek kadar tamamen askıda kalmasına neden olabilir. Bunun gerçekleştiğini hiç görmedim veya gerçekleştiğine dair bir rapor almadım, ancak bunun gerçekleşmesi için zayıf bir olasılık olduğunu düşünüyorum.

Varsayılan olarak readx() kullanımı devre dışıdır. AIX 5L ve üzerinde lsof, bu seçeneğin talep ettiği eylemleri gerçekleştirmek için setuid-root iznine ihtiyaç duyabilir.

Lsof derleyicisi -X seçeneğinin gerçek UID'si root olan işlemlerle sınırlandırılmasını belirtebilir. Bu yapılmışsa, lsof işleminin gerçek UID'si root olmadıkça -X seçeneği -h veya -? yardım çıktısında görünmeyecektir. Varsayılan lsof dağıtımı herhangi bir UID'nin -X belirtmesine izin verir, bu nedenle varsayılan olarak yardım çıktısında görünecektir.

AIX readx() kullanımı devre dışı bırakıldığında, lsof tüm metin ve yükleyici dosya referansları için bilgi raporlayamayabilir, ancak Stale Segment ID hatası olarak bilinen bir AIX çekirdek dizin arama hatasını kötüleştirmekten de kaçınabilir.

Lsof veya başka herhangi bir program tarafından bazı çekirdek sanal bellek bölümlerine erişmek için kullanılan readx() işlevi, Stale Segment ID hatasını tetikleyebilir. Çekirdeğin dir_search() işlevinin, bir dosya sistemi dizininin bellek içi kopyasının bir kısmının sıfırlandığına hatalı bir şekilde inanmasına neden olabilir. Lsof'tan farklı, çekirdekten dizini aramasını isteyen başka bir uygulama işlemi - örneğin open(2) kullanarak - dir_search() işlevinin sonsuza kadar döngüye girmesine ve dolayısıyla uygulama işleminin askıda kalmasına neden olabilir.

Stale Segment ID hatasının daha eksiksiz bir açıklaması, APAR'ı ve lsof derlenirken readx() kullanımını tanımlama yöntemleri için lsof FAQ'ına (FAQ bölümü konumunu belirtir) ve lsof dağıtımının 00README dosyasına bakın.

Darwin: Bu Darwin seçeneği, lsof'un yalnızca işlem dosya tanımlayıcı tablosundan ve işlem dosya portlarından gelen dosyalar hakkında bilgi raporlamasını talep eder.

Linux: Bu Linux seçeneği, lsof'un tüm açık TCP, UDP ve UDPLITE IPv4 ve IPv6 dosyaları hakkındaki bilgileri raporlamayı atlamasını talep eder.

Bu Linux seçeneği, sistemde son derece fazla sayıda açık TCP, UDP ve UDPLITE dosyası bulunduğunda, /proc/net/tcp* ve /proc/net/udp* dosyalarındaki bilgilerin işlenmesi lsof'un çok zamanını alacağında ve raporlanmaları ilgi çekmediğinde en yararlıdır.

Bu seçeneği dikkatle ve yalnızca lsof'un görüntülemesini istediğiniz bilgilerin açık TCP, UDP veya UDPLITE soket dosyalarıyla ilişkili olmadığından emin olduğunuzda kullanın.

Solaris 10 ve üzeri: Bu Solaris 10 ve üzeri seçeneği, silinmiş olan - yani rm(1) veya unlink(2) ile kaldırılmış olan - dosyalar için önbelleğe alınmış yolların raporlanmasını talep eder.

Önbelleğe alınan yolu, dosyanın açıldığı yolun silindiğini belirtmek için " (deleted)" dizesi takip eder.

Yolda yapılan aradaki değişiklikler - yani mv(1) veya rename(2) ile yeniden adlandırmalar - önbelleğe alınan yola kaydedilmediğinden, lsof'un raporladığı şey dosyanın muhtemel farklı son yolu değil, yalnızca açıldığı yoldur.

-z [z] Solaris 10 ve üzeri bölge (zone) bilgilerinin nasıl işleneceğini belirtir.

Bir bağımsız değişken olmadan - örneğin z OLMADAN - seçenek, ZONE çıktı sütununda bölge adlarının listeleneceğini belirtir.

-z seçeneğini bir bölge adı z takip edebilir. Bu, lsof'un yalnızca o bölgedeki işlemler için açık dosyaları listelemesine neden olur. Adlandırılmış bölgelerden oluşan bir liste oluşturmak için birden fazla -z z seçenek ve bağımsız değişken çifti belirtilebilir. Bölgelerdeki herhangi bir işlemin herhangi bir açık dosyası, diğer seçenekler ve bağımsız değişkenler tarafından belirtilen diğer koşullara tabi olarak listelenecektir.

-Z [Z] SELinux güvenlik bağlamlarının nasıl işleneceğini belirtir. Çalışan Linux çekirdeğinde SELinux devre dışı bırakıldığında, bu seçenek ve 'Z' alanı çıktı karakteri desteği engellenir. 'Z' alanı çıktı karakteri hakkında daha fazla bilgi için DİĞER PROGRAMLAR İÇİN ÇIKTI bölümüne bakın.

Bir bağımsız değişken olmadan - örneğin Z OLMADAN - seçenek, SECURITY-CONTEXT çıktı sütununda güvenlik bağlamlarının listeleneceğini belirtir.

-Z seçeneğini bir joker karakter güvenlik bağlamı adı Z takip edebilir. Bu, lsof'un yalnızca o güvenlik bağlamındaki işlemler için açık dosyaları listelemesine neden olur. Güvenlik bağlamlarından oluşan bir liste oluşturmak için birden fazla -Z Z seçenek ve bağımsız değişken çifti belirtilebilir. Güvenlik bağlamlarındaki any open file of any process will be listed, subject to other conditions specified by other options and arguments. Z'nin A:B:C bağlamıyla eşleşmesi için A:B:C veya :B:C veya A:B: veya ::C olabileceğini unutmayın.

  • --: Çift eksi işareti seçeneği, anahtarlı seçeneklerin sonunu bildiren bir işaretçidir. Örneğin, ilk dosya adı bir eksi işaretiyle başladığında kullanılabilir. Son anahtarlı seçenek için bir değerin bulunmamasının, sonraki seçenekte ve dosya adlarının başlamasından önce bir eksi işaretinin bulunmasıyla belirtilmesi gerektiğinde de kullanılabilir.

names Bunlar listelenecek belirli dosyaların yol adlarıdır. Sembolik bağlantılar kullanılmadan önce çözümlenir. İlk ad, önceki seçeneklerden "--" seçeneği ile ayrılabilir.

Bir ad, bir dosya sisteminin bağlandığı dizin veya dosya sisteminin aygıtı ise, lsof dosya sisteminde açık olan tüm dosyaları listeleyecektir. Bir dosya sistemi olarak kabul edilmesi için adın, mount(8) çıktısındaki bağlanan dizin adıyla eşleşmesi veya bağlanan bir dizin adıyla ilişkili bir blok aygıtının adıyla eşleşmesi gerekir. +|-f seçeneği, lsof'u bir adı dosya sistemi tanımlayıcısı (+f) veya basit bir dosya (-f) olarak kabul etmeye zorlamak için kullanılabilir.

Eğer ad bir dosya sisteminin bağlandığı dizin adı olmayan bir dizinin yolu ise, tıpkı düzenli bir dosya gibi işlem görür - yani listelenmesi, onu bir dosya olarak veya kök ya da mevcut çalışma dizini gibi işleme özgü bir dizin olarak açık tutan işlemlerle sınırlandırılır. Lsof'un bir dizin adı içindeki açık dosyaları aramasını talep etmek için +d s ve +D D seçeneklerini kullanın.

Eğer ad çoklanmış (multiplexed) dosyalardan oluşan bir ailenin taban adı ise - örneğin AIX'in /dev/pt[cs] dosyası - lsof, aygıtta açık olan ilişkili tüm çoklanmış dosyaları listeleyecektir - örneğin /dev/pt[cs]/1, /dev/pt[cs]/2 vb.

Eğer ad bir UNIX alan soket adı ise, lsof genellikle bunu yalnızca adın karakterlerine göre arayacaktır - tam olarak belirtildiği ve çekirdek soket yapısına kaydedildiği gibi. (Linux için bu kuralın bir istisnası için bir sonraki paragrafa bakın.) Dosyanın mutlak yolu - örneğin /tmp/dosya - yerine göreli bir yol - örneğin ./dosya - belirtmek çalışmayacaktır çünkü lsof belirttiğiniz karakterleri çekirdek UNIX alan soketi yapılarında bulduklarıyla eşleştirmelidir.

Eğer ad bir Linux UNIX alan soket adı ise, lsof bir durumda bunu aygıt ve inode numarasına göre arayebilir ve adın göreli bir yol olmasına izin verir. Bu durum, soketi oluşturan işlem tarafından mutlak yolun - yani eğik çizgi ('/') ile başlayanın - kullanılmasını ve dolayısıyla /proc/net/unix dosyasına kaydedilmesini gerektirir; ve lsof'un başarılı stat(2) sistem çağrıları aracılığıyla hem /proc/net/unix içindeki mutlak yolun hem de adın aygıt ve düğüm numaralarını elde edebilmesini gerektirir. Bu koşullar karşılandığında, ad içinde kendisine giden bir yol belirtildiğinde lsof UNIX alan soketini arayabilecektir. Dolayısıyla, örneğin yol /dev/log ise ve çalışma dizini /dev iken bir lsof araması başlatılırsa, ad ./log olabilir.

Eğer ad yukarıdakilerden hiçbiri değilse, lsof, aygıtı ve inode'u belirtilen yol adı ile eşleşen tüm açık dosyaları listeleyecektir.

Eğer -b seçeneğini de belirttiyseniz, güvenle belirtebileceğiniz tek adlar, bağlama tablonuzun alternatif aygıt numaraları sağladığı dosya sistemleridir. Daha fazla bilgi için ÇEKİRDEK ENGELLEMELERİNDEN KAÇINMA ve ALTERNATİF AYGIT NUMARALARI bölümlerine bakın.

Birden fazla dosya adı, VE seçeneği seçimine katılmadan önce tek bir VEYAlanmış kümede birleştirilir.

Afs

Lsof, bu türevler (ve AFS sürümleri) için AFS dosyalarının tanınmasını destekler:

AIX 4.1.4 (AFS 3.4a) HP-UX 9.0.5 (AFS 3.4a) Linux 1.2.13 (AFS 3.3) Solaris 2.[56] (AFS 3.4a)

Bu türevlerin diğer sürümlerindeki AFS dosyalarını da tanıyabilir, ancak orada test edilmemiştir. AFS'nin nasıl uygulandığına bağlı olarak, lsof diğer türevlerdeki AFS dosyalarını tanıyabilir veya desteklenen türevlerde AFS dosyalarını tanımakta zorluk çekebilir.

AFS çekirdek desteği, adresleri çekirdeğin değişken adı listesinde görünmeyen dinamik modüller aracılığıyla uygulandığında, lsof desteklenen türevlerdeki AFS dosyalarının tüm yönlerini tanımlamakta sorun yaşayabilir. Bu durumda, lsof AFS dosyalarının kimliğini tahmin etmek zorunda kalabilir ve AFS hacim düğüm numaralarını hesaplamak için gereken hacim bilgilerini çekirdekten elde edemeyebilir. Lsof hacim düğüm numaralarını hesaplayamadığında, NODE sütununda boşluk bildirir.

Dinamik modül çekirdek adreslerinin bulunabileceği ad listesi dosyasını belirtmek için lsof'un bazı türev uygulamalarında -A A seçeneği mevcuttur. Bu seçenek mevcut olduğunda, -h veya -? seçeneğine yanıt olarak sunulan lsof yardım çıktısında listelenecektir.

Dinamik modüller, sembolleri ve lsof seçeneklerini nasıl etkiledikleri hakkında daha fazla bilgi için lsof FAQ'ına bakın (FAQ bölümü konumunu belirtir).

AFS yol aramaları çekirdeğin ad önbelleği işlemlerine katılıyor gibi görünmediğinden, lsof AFS dosyaları için yol adı bileşenlerini tanımlayamaz.

Güvenlik

Lsof, güvenlik endişelerine yol açabilecek üç özelliğe sahiptir. Birincisi, varsayılan derleme modu herkesin onunla tüm açık dosyaları listelesine izin verir. İkincisi, varsayılan olarak lsof'u yürüten gerçek kullanıcı kimliğinin ev dizininde kullanıcı tarafından okunabilir ve kullanıcı tarafından yazılabilir bir aygıt önbellek dosyası oluşturur. (Açık tüm dosyaları listeleme ve aygıt önbelleği özellikleri, lsof derlendiğinde devre dışı bırakılabilir.) Üçüncüsü, -k ve -m seçenekleri alternatif çekirdek ad listesi veya bellek dosyalarını belirtir.

Tüm açık dosyaların listelenmesini kısıtlama, derleme zamanındaki HASSECURITY ve HASNOSOCKSECURITY seçenekleriyle kontrol edilir. HASSECURITY tanımlandığında, lsof yalnızca root kullanıcısının tüm açık dosyaları listelemesine izin verecektir. Root olmayan kullanıcı, yalnızca lsof işleminin gerçek kullanıcı kimlik numarasıyla (kullanıcının oturum açtığı kimlik) aynı kullanıcı kimlik numarasına sahip işlemlerin açık dosyalarını listeleyebilir.

Ancak, HASSECURITY ve HASNOSOCKSECURITY her ikisi de tanımlanmışsa, -i seçeneği ile seçilmiş olmaları koşuluyla herkes açık soket dosyalarını listeleyebilir.

HASSECURITY tanımlanmadığında, herkes tüm açık dosyaları listeleyebilir.

-h veya -? seçeneğine yanıt olarak sunulan yardım çıktısı, HASSECURITY ve HASNOSOCKSECURITY tanımlarının durumunu verir.

HASSECURITY ve HASNOSOCKSECURITY seçenekleri etkinleştirilmiş olarak lsof'un nasıl derleneceği hakkında bilgi için lsof dağıtımının 00README dosyasının Güvenlik bölümüne bakın.

Kullanıcı tarafından okunabilir ve kullanıcı tarafından yazılabilir bir aygıt önbellek dosyasının oluşturulması ve kullanılması, derleme zamanındaki HASDCACHE seçeneğiyle kontrol edilir. Yolunun nasıl oluşturulduğuna ilişkin ayrıntılar için AYGIT ÖNBELLEK DOSYASI bölümüne ve bunu takip eden bölümlere bakın. Güvenlik hususları açısından, varsayılan lsof dağıtımında, lsof'un yürütüldüğü gerçek kullanıcı kimliği root ise, aygıt önbellek dosyasının root'un ev dizine - örneğin / veya /root - yazılacağını unutmamak önemlidir. HASDCACHE tanımlanmadığında, lsof bir aygıt önbellek dosyası yazmaz veya okumaya çalışmaz.

HASDCACHE tanımlandığında, -h, -D? veya -? seçeneklerine yanıt olarak sunulan lsof yardım çıktısı, aygıt önbellek dosyası işleme bilgilerini sağlayacaktır. HASDCACHE tanımlanmadığında, -h veya -? çıktısında -D seçeneği açıklaması olmayacaktır.

Aygıt önbellek dosyası özelliğini devre dışı bırakmaya karar vermeden önce - bunu etkinleştirmek, /dev (veya /devices) içindeki tüm düğümleri inceleme başlatma ek yükünü azaltarak lsof'un performansını artırır - lsof dağıtımının 00DCACHE dosyasındaki ve lsof FAQ'ındaki (FAQ bölümü konumunu belirtir) tartışmayı okuyun.

ŞÜPHEYE DÜŞTÜĞÜNÜZDE, -Di SEÇENEĞİ İLE AYGIT ÖNBELLEK DOSYASININ KULLANIMINI GEÇİCİ OLARAK DEVRE DIŞI BIRAKABİLİRSİNİZ.

Lsof kullanıcısı -k ve -m seçenekleriyle alternatif çekirdek ad listesi veya bellek dosyaları bildirdiğinde lsof, kullanıcının bunları okuma yetkisini access(2) ile kontrol eder. Bu, lsof'un modlarının kendisine verebileceği herhangi bir özel gücün, gerçek kullanıcı kimliğinin yetkisiyle normalde erişilemeyen dosyaları okumasına izin vermesini önlemeyi amaçlar.

Çıktı

Bu bölüm, lsof'un her açık dosya için listelediği bilgileri açıklar. Başka bir program tarafından işlenebilecek çıktılar hakkında ek bilgi için DİĞER PROGRAMLAR İÇİN ÇIKTI bölümüne bakın.

Lsof yalnızca yazdırılabilir (isprint(3) tarafından öyle beyan edilen) 8 bitlik karakterleri çıktı olarak verir. Yazdırılamayan karakterler üç biçimden birinde yazdırılır: C "[bfrnt]" biçimi; kontrol karakteri ^ biçimi (örneğin "^@"); veya onaltılık başında "\x" olan biçim (örneğin "\xab"). Boşluk (space), COMMAND sütununda yazdırılamaz ("\x20") ve başka yerlerde yazdırılabilirdir.

Bazı türevler için - türevin machine.h başlık dosyasında HASSETLOCALE tanımlanmışsa - lsof bir dil yerel ayarının (language locale) genişletilmiş 8 bitlik karakterlerini yazdıracaktır. Lsof işlemine, değeri genişletilmiş karakterlerin isprint(3) tarafından yazdırılabilir kabul edildiği bilinen bir dil yerel ayarını temsil eden bir dil yerel ayarı çevre değişkeni (örneğin LANG) sağlanmalıdır. Aksi takdirde lsof, genişletilmiş karakterleri yazdırılamaz kabul eder ve bunları yukarıda belirtilen yazdırılamayan karakter kurallarına göre yazdırır. LANG yerine kullanılabilecek diğer çevre değişkenlerinin adları için türevinizin setlocale(3) kılavuz sayfasına bakın - örneğin LC_ALL, LC_CTYPE vb.

Türevin machine.h başlık dosyasında HASSETLOCALE ve HASWIDECHAR tanımlandığında ve lsof işlemi için uygun çevre değişkeninde uygun bir dil yerel ayarı tanımlandığında, lsof'un bir türev için dil yerel ayarı desteği geniş karakterleri - örneğin UTF-8 - de kapsar. Geniş karakterler, iswprint(3) bunları yazdırılabilir olarak bildirdiğinde bu koşullar altında yazdırılabilirdir. HASSETLOCALE, HASWIDECHAR ve uygun bir dil yerel ayarı tanımlanmamışsa veya iswprint(3) geniş karakterlerin yazdırılabilir olmadığını bildirirse, lsof geniş karakterleri yazdırılamaz kabul eder ve bunların 8 bitinin her birini yukarıda belirtilen yazdırılamayan karakter kurallarına göre yazdırır.

Daha fazla bilgi için lsof FAQ'ındaki (FAQ bölümü konumunu belirtir) "Dil yerel ayarı desteği" sorularının yanıtlarına bakın.

Lsof, her çalıştığında çıktı sütunlarını dinamik olarak boyutlandırarak her sütunun minimum boyutta olmasını garanti eder. Ayrıca her sütunun öncekinden en az bir boşlukla ayrılmasını garanti eder.

COMMAND İşlemle ilişkili UNIX komutunun adının ilk dokuz karakterini içerir. +c w seçeneğine sıfır olmayan bir w değeri belirtilirse, sütun işlemle ilişkili UNIX komutunun adının, UNIX türevi tarafından lsof'a sağlanan karakter sınırına kadar olan ilk w karakterini içerir. (Daha fazla bilgi için +c w komutunun açıklamasına veya lsof FAQ'ına bakın. FAQ bölümü konumunu belirtir.)

w, sütun başlığı olan "COMMAND" uzunluğundan küçükse, bu uzunluğa yükseltilecektir.

+c w seçeneğine sıfır olan bir w değeri belirtilirse, sütun işlemle ilişkili UNIX komutunun adının tüm karakterlerini içerir.

Çekirdek tarafından kendi yapılarında tutulan tüm komut adı karakterleri, komut adı tanımlayıcısı (c) belirtildiğinde alan çıktısında görüntülenir. Alan çıktısını ve ilişkili komut adı tanımlayıcısını seçme hakkında bilgi için DİĞER PROGRAMLAR İÇİN ÇIKTI bölümüne bakın.

PID işlemin İşlem Kimlik (Process IDentification) numarasıdır.

TID türev tarafından görev (iş parçacığı) raporlaması destekleniyorsa ve bir görev (iş parçacığı) listeleniyorsa görev (iş parçacığı) kimlik numarasıdır. (Yardım çıktısı - yani -h veya -? seçeneklerinin çıktısı - bu seçeneği gösteriyorsa, görev (iş parçacığı) raporlaması türev tarafından destekleniyor demektir.)

Linux'ta boş bir TID sütunu bir işlemi - yani görev olmayan bir durumu - gösterir.

TASKCMD Görev komut adıdır. Genellikle bu, COMMAND sütununda adı geçen işlemle aynı olacaktır, ancak bazı görev uygulamaları (örneğin Linux) bir görevin kendi komut adını değiştirmesine izin verir.

TASKCMD sütun genişliği, COMMAND sütunu ile aynı boyut sınırlamasına tabidir.

ZONE Solaris 10 ve üzeri bölge adıdır. Bu sütun -z seçeneği ile seçilmelidir.

SECURITY-CONTEXT SELinux güvenlik bağlamıdır. Bu sütun -Z seçeneği ile seçilmelidir. Çalışan Linux çekirdeğinde SELinux devre dışı bırakıldığında -Z seçeneğinin engellendiğini unutmayın.

PPID işlemin Üst İşlem Kimlik (Parent Process IDentification) numarasıdır. Yalnızca -R seçeneği belirtildiğinde görüntülenir.

PGID işlemle ilişkili işlem grubu kimlik (process group IDentification) numarasıdır. Yalnızca -g seçeneği belirtildiğinde görüntülenir.

USER işlemin ait olduğu kullanıcının kullanıcı kimlik numarası veya oturum açma adıdır, genellikle ps(1) tarafından bildirilenle aynıdır. Ancak, Linux'ta USER, lsof'un işlem hakkında bilgi bulduğu /proc içindeki dizinin sahibi olan kullanıcı kimlik numarası veya oturum açma adıdır. Genellikle bu, ps(1) tarafından bildirilenle aynı değerdir, ancak işlem etkin kullanıcı kimliğini değiştirdiğinde farklılık gösterebilir. (Bir kullanıcı kimlik numarasının veya oturum açma adının ne zaman görüntüleneceği hakkında bilgi için -l seçeneği açıklamasına bakın.)

FD dosyanın Dosya Tanımlayıcı (File Descriptor) numarasıdır veya:

cwd mevcut çalışma dizini; Lnn kitaplık referansları (AIX); err FD bilgisi hatası (bkz. NAME sütunu); jld jail dizini (FreeBSD); ltx paylaşılan kitaplık metni (kod ve veri); Mxx onaltılık bellek eşlemeli tür numarası xx; m86 DOS Merge eşlemeli dosya; mem bellek eşlemeli dosya; mmap bellek eşlemeli aygıt; pd üst dizin; rtd kök dizini; tr çekirdek izleme dosyası (OpenBSD); txt program metni (kod ve veri); v86 VP/ix eşlemeli dosya;

FD'yi, dosyanın hangi modda açık olduğunu açıklayan şu karakterlerden biri takip eder:

r okuma erişimi için; w yazma erişimi için; u okuma ve yazma erişimi için; mod bilinmiyorsa ve kilitleme karakteri gelmiyorsa boşluk; mod bilinmiyorsa ve kilitleme karakteri geliyorsa -.

Mod karakterini, dosyaya uygulanan kilit türünü açıklayan şu kilitleme karakterlerinden biri takip eder:

N bilinmeyen türde bir Solaris NFS kilidi için; r dosyanın bir kısmı üzerinde okuma kilidi için; R dosyanın tamamı üzerinde okuma kilidi için; w dosyanın bir kısmı üzerinde yazma kilidi için; W dosyanın tamamı üzerinde yazma kilidi için; u herhangi bir uzunlukta okuma ve yazma kilidi için; U bilinmeyen türde bir kilit için; x dosyanın bir kısmı üzerinde SCO OpenServer Xenix kilidi için; X dosyanın tamamı üzerinde SCO OpenServer Xenix kilidi için; kilit yoksa boşluk.

Kilit bilgisi karakteri hakkında daha fazla bilgi için KİLİTLER bölümüne bakın.

FD sütun içeriği, son işlem betiklerinde ayrıştırma için tek bir alan oluşturur.

TYPE dosya ile ilişkili düğümün (node) türüdür - örneğin GDIR, GREG, VDIR, VREG vb.

veya bir IPv4 soketi için "IPv4";

veya açık bir IPv6 ağ dosyası için - adresi bir IPv6 adresine eşlenmiş bir IPv4 adresi olsa bile - "IPv6";

veya bir Linux AX.25 soketi için "ax25";

veya bir İnternet alanı soketi için "inet";

veya bir HP-UX bağlantı düzeyi erişim (link level access) dosyası için "lla";

veya bir AF_ROUTE soketi için "rte";

veya bilinmeyen alana sahip bir soket için "sock";

veya bir UNIX alanı soketi için "unix";

veya bir HP-UX x.25 soketi için "x.25";

veya bir blok özel dosyası için "BLK";

veya bir karakter özel dosyası için "CHR";

veya silinmiş olan bir Linux harita dosyası (map file) için "DEL";

veya bir dizin için "DIR";

veya bir VDOOR dosyası için "DOOR";

veya bir FIFO özel dosyası için "FIFO";

veya BSD tarzı bir çekirdek olay kuyruğu (kernel event queue) dosyası için "KQUEUE";

veya bir sembolik bağlantı dosyası için "LINK";

veya çoklanmış bir blok dosyası için "MPB";

veya çoklanmış bir karakter dosyası için "MPC";

veya açılamayan bir Linux /proc//fd dizini için "NOFD" -- dizin yolu NAME sütununda görünür, ardından bir hata mesajı gelir;

veya bir /proc/as dosyası için "PAS";

veya bir /proc/auxv dosyası için "PAXV";

veya bir /proc/cred dosyası için "PCRE";

veya bir /proc kontrol dosyası için "PCTL";

veya mevcut /proc işlemi için "PCUR";

veya bir /proc mevcut çalışma dizini için "PCWD";

veya bir /proc dizini için "PDIR";

veya bir /proc yürütülebilir türü (etype) için "PETY";

veya bir /proc dosya tanımlayıcısı için "PFD";

veya bir /proc dosya tanımlayıcı dizini için "PFDR";

veya yürütülebilir bir /proc dosyası için "PFIL";

veya bir /proc FP yazmaç (register) kümesi için "PFPR";

veya bir /proc/pagedata dosyası için "PGD";

veya bir /proc grup bildirim dosyası için "PGID";

veya boru hatları (pipes) için "PIPE";

veya bir /proc/lwpctl dosyası için "PLC";

veya bir /proc/lpw dizini için "PLDR";

veya bir /proc/ldt dosyası için "PLDT";

veya bir /proc/lpsinfo dosyası için "PLPI";

veya bir /proc/lstatus dosyası için "PLST";

veya bir /proc/lusage dosyası için "PLU";

veya bir /proc/gwindows dosyası için "PLWG";

veya bir /proc/lwpsinfo dosyası için "PLWI";

veya bir /proc/lwpstatus dosyası için "PLWS";

veya bir /proc/lwpusage dosyası için "PLWU";

veya bir /proc/xregs dosyası için "PLWX";

veya bir /proc harita dosyası (map) için "PMAP";

veya bir /proc bellek görüntüsü dosyası için "PMEM";

veya bir /proc işlem bildirim dosyası için "PNTF";

veya bir /proc/object dosyası için "POBJ";

veya bir /proc/object dizini için "PODR";

veya eski biçimli bir /proc hafif işlem (light weight process) dosyası için "POLP";

veya eski biçimli bir /proc PID dosyası için "POPF";

veya eski biçimli bir /proc sayfa veri dosyası için "POPG";

veya bir SYSV adlandırılmış boru hattı için "PORT";

veya bir /proc yazmaç (register) dosyası için "PREG";

veya bir /proc/rmap dosyası için "PRMP";

veya bir /proc kök dizini için "PRTD";

veya bir /proc/sigact dosyası için "PSGA";

veya bir /proc/psinfo dosyası için "PSIN";

veya bir /proc durum dosyası için "PSTA";

veya bir POSIX semafor dosyası için "PSXSEM";

veya bir POSIX paylaşılan bellek dosyası için "PSXSHM";

veya bir /dev/pts dosyası için "PTS";

veya bir /proc/usage dosyası için "PUSG";

veya bir /proc/watch dosyası için "PW";

veya bir /proc/xmap dosyası için "PXMP";

veya düzenli bir dosya için "REG";

veya paylaşılan bellek taşıma dosyası için "SMT";

veya bir akış soketi için "STSO";

veya adlandırılmamış türde bir dosya için "UNNM";

veya bilinmeyen türde bir OpenServer Xenix özel dosyası için "XNAM";

veya bir OpenServer Xenix semafor dosyası için "XSEM";

veya bir OpenServer Xenix paylaşılan veri dosyası için "XSD";

veya karşılık gelen ad bilinmiyorsa dört tür numarası sekizlisi (octets).

FILE-ADDR +f'ye f belirtildiğinde çekirdek dosya yapısı adresini içerir;

FCT +f'ye c belirtildiğinde çekirdek dosya yapısından dosya referans sayısını içerir;

FILE-FLAG +f'ye g veya G belirtildiğinde, bu alan çekirdek dosya yapısının f_flag[s] üyesinin içeriğini ve çekirdeğin işlem başına açık dosya bayraklarını (varsa) içerir; G bunların onaltılık olarak görüntülenmesine neden olur; g kısa adlar olarak görüntüler; girdileri virgülle ayrılmış, listeleri noktalı virgülle (;) ayrılmış iki liste görüntülenebilir; ilk liste aşağıdaki tablodan f_flag[s] değerleri için kısa adlar içerebilir:

AIO eşzamansız I/O (örneğin FAIO) AP sona ekle (append) ASYN eşzamansız I/O (örneğin FASYNC) BAS kullanımda blokla, test et ve ayarla BKIU kullanımdaysa engelle BL blok ofsetlerini kullan BSK blok arama (block seek) CA kopyalamadan kaçınma CIO eşzamanlı I/O CLON klon CLRD CL okuma CR oluşturma DF ertele DFI erteleme IND DFLU veri temizleme (data flush) DIR doğrudan DLY gecikme DOCL klonlama yap DSYN yalnızca veri bütünlüğü DTY bir dizin olmalı EVO yalnızca olay EX yürütme için aç EXCL özel açma (exclusive open) FSYN eşzamanlı yazmalar GCDF unp_gc() sırasında ertele (AIX) GCMK unp_gc() sırasında işaretle (AIX) GTTY /dev/tty aracılığıyla erişildi HUP HUP devam ediyor KERN çekirdek KIOC çekirdek tarafından verilen ioctl LCK kilide sahip LG büyük dosya MBLK akış mesaj bloğu MK işaretle MNT bağla (mount) MSYN çoklu eşitleme (multiplex synchronization) NATM atime'ı güncelleme NB engelleyici olmayan I/O NBDR BDRM kontrolü yok NBIO SYSV engelleyici olmayan I/O NBF n-arabellek oluşturma devrede NC önbellek yok ND gecikme yok NDSY veri eşitleme yok NET ağ NFLK bağlantıları takip etme NMFS NM dosya sistemi NOTO arka plan durdurmayı devre dışı bırak NSH paylaşım yok NTTY denetleyici TTY yok OLRM OLR aynası PAIO POSIX eşzamansız I/O PP POSIX boru hattı R okuma RC dosya ve kayıt kilitleme önbelleği REV iptal edildi RSH paylaşılan okuma RSYN okuma eşitlemesi RW okuma ve yazma erişimi SL paylaşılan kilit SNAP işlenmiş anlık görüntü SOCK soket SQSH açılışta ayarlanmış Sequent paylaşılan kümesi SQSV açılışta ayarlanmış Sequent SVM SQR açılışta Sequent küme onarımı SQS1 Sequent tam paylaşılan açılış SQS2 Sequent kısmi paylaşılan açılış STPI I/O durdur SWR eşzamanlı okuma SYN yazarken dosya bütünlüğü TCPM TCP çakışmasını önle TR kırp (truncate) W yazma WKUP paralel I/O eşitlemesi WTG paralel I/O eşitlemesi VH vhangup beklemede VTXT sanal metin XL özel kilit (exclusive lock)

bu ad listesi, <fcntl.h>, <linux/fs.h>, <sys/fcntl.c>, <sys/fcntlcom.h> ve <sys/file.h> türev başlık dosyalarındaki F* #define tanımlarından türetilmiştir; yukarıdaki kısa adlar ile başlık dosyası tanımları arasındaki uygunluğu gösteren bir liste için lsof.h başlık dosyasına bakın;

ikinci liste (noktalı virgülden sonra), bu tablodan çekirdeğin işlem başına açık dosya bayrakları için kısa adlar içerebilir:

ALLC tahsis edildi BR dosya okundu BHUP etkinlik SIGHUP ile durduruldu BW dosya yazıldı CLSG kapanıyor CX yürütürken kapat (close-on-exec) (bkz. fcntl(F_SETFD)) LCK kilit uygulandı MP bellek eşlemeli OPIP açılış beklemede - devam ediyor RSVW ayrılmış bekleme SHMT UF_FSHMAT ayarlı (AIX) USE kullanımda (çok iş parçacıklı)

NODE-ID (veya bazı türevler için INODE-ADDR), +f'ye n belirtildiğinde dosya düğümü için benzersiz bir tanımlayıcı (genellikle çekirdek vnode veya inode adresi, ancak bazen aygıt ve düğüm numarasının birleşimi) içerir;

DEVICE bir karakter özel, blok özel, düzenli, dizin veya NFS dosyası için virgülle ayrılmış aygıt numaralarını içerir;

veya Tru64 UNIX altında bir bellek dosya sistemi düğümü için "memory";

veya bir Solaris soket akışının özel veri alanının adresini;

veya dosyayı tanımlayan bir çekirdek referans adresini (Çekirdek referans adresi örneğin FIFO'lar için kullanılabilir.);

veya bir Linux AX.25 soket aygıtının taban adresini veya aygıt adını.

Genellikle Tru64 UNIX çekirdek adreslerinin yalnızca alt otuz iki biti görüntülenir.

SIZE, SIZE/OFF, or OFFSET dosyanın boyutu veya bayt cinsinden dosya ofsetidir. Bu sütunda yalnızca mevcutsa bir değer görüntülenir. Lsof, dosyanın türü ve lsof'un sürümü için uygun olan değeri - boyut veya ofset - görüntüler.

Bazı UNIX türevlerinde lsof, çekirdek veri kaynaklarından doğru veya tutarlı dosya ofseti bilgisi elde edemez, bazen bu durum yalnızca belirli dosya türleri (örneğin soket dosyaları) için geçerlidir. Diğer durumlarda, dosyaların gerçek boyutları yoktur - örneğin soketler, FIFO'lar, boru hatları - bu nedenle lsof, boyutları için çekirdek arabellek tanımlayıcılarında bulduğu içerik miktarlarını (örneğin soket arabellek boyutu sayıları veya TCP/IP pencere boyutları) görüntüler. Daha fazla bilgi için lsof FAQ'ına bakın (FAQ bölümü konumunu belirtir).

Dosya boyutu ondalık olarak görüntülenir; ofset normalde 8 basamak veya daha az içeriyorsa başında "0t" ile ondalık olarak; 8 basamaktan uzunsa başında "0x" ile onaltılık olarak görüntülenir. (8'in başka bir değere ne zaman varsayılan olabileceği hakkında bilgi için -o o seçeneği açıklamasına bakın.)

Böylece, sütun hem bir boyut hem de bir ofset içerebildiğinde (yani başlığı SIZE/OFF olduğunda) başında gelen "0t" ve "0x" bir ofseti tanımlar.

-o seçeneği belirtilirse, lsof her zaman dosya ofsetini görüntüler (veya ofset mevcut değilse hiçbir şey görüntülemez) ve sütunu OFFSET olarak etiketler. Ofset her zaman yukarıda açıklandığı gibi "0t" veya "0x" ile başlar.

Lsof kullanıcısı -o o seçeneği ile "0t"den "0x"e geçişi kontrol edebilir. Daha fazla bilgi için açıklamasına bakın.

-s seçeneği belirtilirse, lsof her zaman dosya boyutunu görüntüler (veya boyut mevcut değilse hiçbir şey görüntülemez) ve sütunu SIZE olarak etiketler. -o ve -s seçenekleri birbirini dışlar; ikisi birden belirtilemez.

Sabit bir boyutu olmayan dosyalar için - örneğin bir disk aygıtında bulunmayanlar - lsof, dosyayı tanımlayan çekirdek yapılarında mevcutsa, dosyanın mevcut boyutu veya konumu hakkında uygun bilgileri görüntüleyecektir.

NLINK +L belirtildiğinde dosya bağlantı sayısını içerir;

NODE yerel bir dosyanın düğüm numarasıdır;

veya sunucu makinesindeki bir NFS dosyasının inode numarasıdır;

veya İnternet protokol türüdür - örneğin "TCP";

veya bir akış için "STR";

veya bir HP-UX x.25 soketi için "CCITT";

veya bir Linux AX.25 soket aygıtının IRQ veya inode numarasıdır.

NAME dosyanın üzerinde bulunduğu bağlama noktasının ve dosya sisteminin adıdır;

veya names seçeneğinde belirtilen bir dosyanın adıdır (herhangi bir sembolik bağlantı çözümlendikten sonra);

veya bir karakter özel veya blok özel aygıtın adıdır;

veya bir ağ dosyasının yerel ve uzak İnternet adresleridir; yerel ana bilgisayar adı veya IP numarasını bir iki nokta üst üste (':'), port, "->" ve iki parçalı uzak adres takip eder; IP adresleri +|-M, -n ve -P seçeneklerine bağlı olarak sayı veya ad olarak bildirilebilir; iki nokta üst üste ile ayrılmış IPv6 numaraları köşeli parantez içine alınır; IPv4 INADDR_ANY ve IPv6 IN6_IS_ADDR_UNSPECIFIED adresleri ile sıfır port numaraları bir yıldız işareti ('*') ile temsil edilir; bir UDP hedef adresini, hedefe son paketin gönderilmesinden bu yana geçen süre takip edebilir; TCP, UDP ve UDPLITE uzak adreslerini netstat(1) raporlarına benzer şekilde parantez içinde TCP/TPI bilgileri - durum (örneğin "(ESTABLISHED)", "(Unbound)"), kuyruk boyutları ve pencere boyutları (tüm türevlerde değil) - takip edebilir; durum, kuyruk boyutu ve pencere boyutu hakkında daha fazla bilgi için -T seçeneği açıklamasına veya DİĞER PROGRAMLAR İÇİN ÇIKTI bölümündeki TCP/TPI alanı açıklamasına bakın;

veya muhtemelen bir akış klon aygıtı adını, bir dosya sistemi nesnesinin yol adını, yerel ve yabancı çekirdek adreslerini, soket çifti bilgilerini ve bağlı bir vnode adresini içeren bir UNIX alanı soketinin adresi veya adıdır;

veya bir NFS dosyasının yerel ve uzak bağlama noktası adlarıdır;

veya "STR", ardından akış adıdır;

veya bir akış karakter aygıtı adı, ardından "->" ve akış adı veya "->" ile ayrılmış akış modülü adlarının listesidir;

veya "STR:", ardından "->" ile ayrılmış SCO OpenServer akış aygıtı ve modül adlarıdır;

veya sistem dizin adı, " -- " ve seçilen türevler için lsof'un çekirdeğin ad önbelleğinde bulabildiği kadar yol adı bileşenidir (DİĞER PROGRAMLAR İÇİN ÇIKTI bölümünde ÇEKİRDEK AD ÖNBELLEĞİ bölümüne bakın.);

veya "PIPE->", ardından bir Solaris çekirdek boru hattı hedef adresidir; veya bir Solaris ortak vnode'u için, ``COMMON:'' ve ardından vnode aygıt bilgi yapısının aygıt adı;

veya adres ailesi, ardından bir eğik çizgi (/) ve ardından Internet dışı ham bir soket adresinin virgülle ayrılmış on dört baytı;

veya HP-UX x.25 yerel adresi, ardından sanal bağlantı numarası (varsa) ve ardından uzak adres (varsa);

veya ilişkisi kesilmiş Tru64 UNIX dosyaları için ``(dead)'' - genellikle TIOCNOTTY ioctl ile işaretlenmiş ve arka plan programları (daemons) tarafından kapatılmış terminal dosyaları;

veya bir FIFO'nun okuma ve yazma ofset değerleri için rd=<offset>'' ve wr='';

veya n dosyanın minor aygıt numarası olmak üzere, /dev/event aygıtının SCO OpenServer dosya klonları için ``clone n:/dev/event'';

veya socketpair(3N) ağ fonksiyonu tarafından oluşturulan bir Solaris 2.6, 8, 9 veya 10 UNIX domain soketi için ``(socketpair: n)'';

veya kendileriyle ilişkili bir protokol bloğu bulunmayan soket dosyaları için no PCB'', soket üzerinden gönderim devre dışı bırakılmışsa isteğe bağlı olarak , CANTSENDMORE'' veya soket üzerinden alım devre dışı bırakılmışsa (örneğin shutdown(2) fonksiyonu ile) ``, CANTRCVMORE'' ile devam eder;

veya :[:] biçimindeki bir Linux IPX soket dosyasının yerel ve uzak adresleri, ardından parantez içinde iletim ve alım kuyruğu boyutları ve bağlantı durumu;

veya çekirdek içi UnixWare 7.1.1 ve üzeri UNIX domain soketlerinin türü için dgram'' veya stream'', ardından iki nokta üst üste (':') ve mevcut olduğunda yerel yol adı, ardından ``->'' ve mevcut olduğunda onaltılık düzende uzak yol adı veya çekirdek soket adresi;

veya Linux SCTP soketleri için ilişkilendirme değeri, ilişkilendirme indeksi, uç nokta (endpoint) değeri, yerel adres, yerel port, uzak adres ve uzak port;

veya ``protocol: '' ve ardından Linux soketinin protokol özniteliği.

fattach(3C) ile bir dosyanın diğerine bağlanmasına izin veren namefs'' dosya sistemini destekleyen lehçeler için, lsof NAME sütununa (FA:)'' ekleyecektir. ve onaltılık vnode adresleridir. Adresi olan bu vnode'a fattach ile bağlanmışsa <-''; ve bu vnode'un vnode adresi olan <address1>, <address2>'ye fattach ile bağlanmışsa ->'' olacaktır. halihazırda DEVICE sütununda görünüyorsa atlanabilir.

Lsof, açık Solaris 10 dosyaları için NAME sütununa parantez içinde iki not ekleyebilir: lsof yol adının doğruluğunu şüpheli buluyorsa (?)''; ve -X seçeneği belirtilmişse ve lsof açık dosyanın yol adının silindiğini tespit ederse (deleted)''. Bu NAME sütunu eklemeleri hakkında daha fazla bilgi için lsof SSS'sine (SSS bölümü konumunu belirtir) başvurun.

Kilitler (Locks)

Lsof, UNIX lehçelerindeki çok çeşitli dosya kilitlerini tek bir karakterle yeterli düzeyde bildiremez. Tek bir karakterde bildirdiği şey, çekirdekte bulduğu bilgi ile raporlama biçiminin sınırlılıkları arasında bir uzlaşıdır.

Ayrıca bir süreç bir dosya üzerinde birden fazla bayt düzeyinde kilit tuttuğunda, lsof yalnızca karşılaştığı ilk kilidin durumunu bildirir. Eğer bu bayt düzeyinde bir kilitse, kilit karakteri tam dosya kilidi için bildirilen büyük harf eşdeğeri yerine küçük harfle - yani r', w' veya `x' - bildirilecektir.

Genellikle lsof yalnızca yerel süreçler tarafından yerel dosyalar üzerinde tutulan kilitleri bildirebilir. Yerel bir süreç uzaktan bağlanmış (örneğin NFS) bir dosya üzerinde bir kilit ayarladığında, uzak sunucu ana bilgisayarı genellikle kilit durumunu kaydeder. Bir istisna Solaris'tir; 2.3'ün bazı yama düzeylerinde ve 2.4'ün üzerindeki tüm sürümlerde Solaris çekirdeği, uzak kilitlere ilişkin bilgileri yerel yapılarda kaydeder.

Lsof'un bazı UNIX lehçelerinde kilitleri bildirmekte sorunları vardır. Daha fazla bilgi için bu kılavuz sayfasının BUGS (Hatalar) bölümüne veya lsof SSS'sine (SSS bölümü konumunu belirtir) başvurun.

Diğer Programlar İçin Çıktı

-F seçeneği belirtildiğinde, lsof başka bir program (örneğin bir awk veya Perl betiği ya da bir C programı) tarafından işlenmeye uygun bir çıktı üretir.

Her bilgi birimi, başında bir karakter bulunan ve NL (012) ile (veya 0 (sıfır) alan tanımlayıcı karakteri belirtilmişse NUL (000) ile) sonlandırılan bir alanda çıktı olarak verilir. Alanın verileri, alan tanımlama karakterinin hemen ardından gelir ve alan sonlandırıcıya kadar uzanır.

Alan çıktısını süreç ve dosya kümeleri olarak düşünmek mümkündür. Bir süreç kümesi, tanımlayıcısı p (süreç tanımlayıcı - PID için) olan bir alanla başlar. Hangisi önce gelirse, bir sonraki PID alanının başlangıcına veya sürecin ilk dosya kümesinin başlangıcına kadar uzanır. Süreç kümesine komutu, süreç grubu tanımlama (PGID) numarasını, görev (iş parçacığı/thread) ID'sini (TID) ve kullanıcı ID (UID) numarasını veya oturum açma adını tanımlayan alanlar dahildir.

Bir dosya kümesi, tanımlayıcısı f (dosya tanımlayıcısı - file descriptor için) olan bir alanla başlar. Bunu dosyanın erişim modunu, kilit durumunu, türünü, aygıtını, boyutunu, ofsetini, inode değerini, protokolünü, adını ve akış (stream) modülü adlarını açıklayan satırlar takip eder. Hangisi önce gelirse, bir sonraki dosya veya süreç kümesinin başlangıcına kadar uzanır.

0 (sıfır) alan tanımlayıcı karakteri ile NUL (000) alan sonlandırıcısı seçildiğinde, lsof her süreç ve dosya kümesini bir NL (012) karakteri ile sonlandırır.

Lsof her zaman bir alan üretir, bu PID (`p') alanıdır. Diğer tüm alanlar, -F seçeneğini takip eden alan tanımlayıcı karakter listesinde isteğe bağlı olarak bildirilebilir. Bir alan seçme karakteri lsof'un normalde listelemediği bir öğeyi tanımladığında - örneğin -R ile seçilen PPID - alan karakterinin belirtilmesi (örneğin ``-FR'') o öğenin listelenmesini de seçer.

Kolayca ayrıştırılamayacak bir alan kümesi seçmek tamamen mümkündür; örneğin, dosya tanımlayıcı alanı seçilmemişse, dosya kümelerini tanımlamak zor olabilir. Bu zorluktan kaçınmanıza yardımcı olmak için lsof -F seçeneğini destekler; bu seçenek NL sonlandırıcıları ile tüm alanların çıktısını seçer (-F0 seçenek çifti ise NUL sonlandırıcıları ile tüm alanların çıktısını seçer). Uyumluluk nedenleriyle ne -F ne de -F0 ham aygıt (raw device) alanını seçer.

Bunlar lsof'un üreteceği alanlardır. İlk olarak listelenen tek karakter alan tanımlayıcısıdır.

a dosya erişim modu c süreç komut adı (proc veya kullanıcı yapısından tüm karakterler) C dosya yapısı paylaşım sayısı d dosyanın aygıt karakter kodu D dosyanın major/minor aygıt numarası (0x) f dosya tanımlayıcısı (her zaman seçilir) F dosya yapısı adresi (0x) G dosya bayrakları (0x; +fg takip ediyorsa adlar) g süreç grup ID'si i dosyanın inode numarası K görev ID'si (TID) k bağlantı sayısı (link count) l dosyanın kilit durumu L süreç oturum açma adı m tekrarlanan çıktılar arasındaki işaretçi M görev komut adı n dosya adı, açıklama, Internet adresi N düğüm tanımlayıcısı (ox o dosyanın ofseti (ondalık) p süreç ID'si (PID) (her zaman seçilir) P protokol adı r ham aygıt numarası (0x) R ebeveyn süreç ID'si s dosyanın boyutu (ondalık) S dosyanın akış (stream) tanımlaması t dosyanın türü T TCP/TPI bilgileri, öneklerle tanımlanır (`=' önekin bir parçasıdır): QR= QS= SO= (tüm lehçelerde yok) SS= (tüm lehçelerde yok) ST= TF= (tüm lehçelerde yok) WR= (tüm lehçelerde yok) WW= (tüm lehçelerde yok) (TCP/TPI bilgileri desteklenen tüm UNIX lehçeleri için raporlanmaz. -T seçeneği için -h veya -? yardım çıktısı, hangi TCP/TPI raporlamasının talep edilebileceğini gösterecektir.) u süreç kullanıcı ID'si z Solaris 10 ve üzeri bölge (zone) adı Z SELinux güvenlik bağlamı (SELinux devre dışı bırakıldığında engellenir) 0 NL yerine NUL alan sonlandırıcı karakteri kullan 1-9 lehçeye özgü alan tanımlayıcıları (-F? çıktısı, lehçeye özgü alanlarda bulunacak bilgileri tanımlar.)

-F? seçenek çiftini belirterek bu karakterler ve açıklamaları hakkında çevrimiçi yardım bilgisi alabilirsiniz. (Kabuğunuzun gerektirdiği şekilde ? karakterini kaçış karakteriyle belirtin.) Alan içeriği hakkında ek bilgi OUTPUT (ÇIKTI) bölümünde bulunabilir.

Bir örnek olarak, -F pcfn'', süreç ID (`p'), komut adı (`c'), dosya tanımlayıcısı (`f') ve dosya adı (`n') alanlarını bir NL alan sonlandırıcı karakteri ile seçecektir; -F pcfn0'' ise aynı çıktıyı bir NUL (000) alan sonlandırıcı karakteri ile seçer.

Lsof her süreç veya dosya kümesi için tüm alanları üretmez, yalnızca mevcut olanları üretir. Bazı alanlar karşılıklı olarak birbirini dışlar: dosya aygıt karakterleri ve dosya major/minor aygıt numaraları; dosya inode numarası ve protokol adı; dosya adı ve akış tanımlaması; dosya boyutu ve ofset. Bu karşılıklı olarak birbirini dışlayan kümelerin üyelerinden biri veya diğeri alan çıktısında görünür, ancak her ikisi birden görünmez.

Normalde lsof her alanı bir NL (012) karakteri ile sonlandırır. Alan sonlandırıcı karakterini NUL (000) olarak değiştirmek için 0 (sıfır) alan tanımlayıcı karakteri belirtilebilir. Bir NUL sonlandırıcının, örneğin xargs (1) ile veya tırnak içine alma mekanizmaları alan çıktısindeki karakter aralığıyla kolayca başa çıkamayan programlarla işlenmesi daha kolay olabilir. NUL alan sonlandırıcısı kullanıldığında, lsof her süreç ve dosya kümesini bir NL (012) ile sonlandırır.

Lsof alan çıktısını işleyebilen programlar üretmeye yardımcı olacak üç araç lsof dağıtımına dahil edilmiştir. Birincisi, alan tanımlama karakterleri için semboller, bunları bir tabloda depolamak için indeksler ve programlara derlenebilecek açıklama dizgeleri içeren bir C başlık dosyası olan lsof_fields.h dosyasıdır. Lsof bu başlık dosyasını kullanır.

İkinci yardımcı araç; awk, Perl 4 ve Perl 5 dillerinde yazılmış, alan çıktısını işleyen örnek betikler kümesidir. Bunlar lsof dağıtımının scripts alt dizininde yer almaktadır.

Üçüncü yardımcı araç, lsof test paketi için kullanılan C kütüphanesidir. Test paketi C dilinde yazılmıştır ve lsof'un doğru çalıştığını doğrulamak için alan çıktısını kullanır. Kütüphane, lsof dağıtımının tests/LTlib.c dosyasında bulunabilir. Kütüphane ilk yardımcı araç olan lsof_fields.h başlık dosyasını kullanır.

Blokajlar Ve Zaman Aşımı

Lsof, kullandığı bazı çekirdek fonksiyonları - lstat(2), readlink(2) ve stat(2) - tarafından bloke edilebilir. Bu fonksiyonlar, örneğin bağlı NFS dosya sistemlerinin bulunduğu ana bilgisayarlar erişilemez hale geldiğinde çekirdekte takılı kalır.

Lsof bu blokajları zamanlayıcılar ve alt süreçler (child processes) ile kırmaya çalışır, ancak bu teknikler tamamen güvenilir değildir. Lsof bir blokajı kırmayı başardığında, bu durumu bir hata mesajıyla bildirecektir. Bu mesajlar -t ve -w seçenekleriyle bastırılabilir.

Varsayılan zaman aşımı değeri -h veya -? seçeneği ile görüntülenebilir ve -S [t] seçeneği ile değiştirilebilir. t için minimum değer iki saniyedir, ancak yavaş sistem tepkisi kısa zaman aşımlarının beklenmedik şekilde sona ermesine neden olabileceğinden ve belki de lsof'un herhangi bir çıktı üretemeden durmasına yol açabileceğinden küçük değerlerden kaçınmalısınız.

Lsof, bağlı dosya sistemi bilgilerine erişimi sırasında bir blokajı kırmak zorunda kaldığında, açık dosyalar hakkında görüntülenecek daha az bilgi mevcut olsa da normal şekilde devam eder.

Lsof'un, bloke edebilecek çekirdek fonksiyonlarını kullanırken zamanlayıcıların ve alt süreçlerin korumasından kaçınması, -O seçeneği belirtilerek de sağlanabilir. Bu durum lsof'un daha az ek yükle başlamasına izin verecek olsa da lsof'u kendisini bloke edebilecek çekirdek durumlarına tamamen maruz bırakır. Bu seçeneği dikkatli kullanın.

Çekirdek Blokajlarından Kaçınma

Lsof'a bloke olacak çekirdek fonksiyonlarını kullanmaktan kaçınmasını söylemek için -b seçeneğini kullanabilirsiniz. Bazı uyarılar geçerlidir.

Birincisi, bu seçeneğin kullanılması genellikle sisteminizin, lsof'un normalde lstat(2) ve stat(2) çekirdek fonksiyonlarıyla elde edeceği aygıt numaralarının yerine alternatif aygıt numaraları sağlamasını gerektirir. Alternatif aygıt numaraları hakkında daha fazla bilgi için ALTERNATE DEVICE NUMBERS (ALTERNATİF AYGIT NUMARALARI) bölümüne bakın.

İkincisi, dosya sistemi adları olmadıkça lsof'un bulması için ad belirtemezsiniz. Bunun nedeni, lsof'un lsof seçeneklerinde adlarıyla listelenen dosyaların aygıt ve inode numaralarını bilmesinin gerekmesidir ve -b seçeneği lsof'un bunları elde etmesini engeller. Ayrıca lsof yalnızca alternatifleri olan dosya sistemleri için aygıt numaralarına sahip olduğundan, dosya sistemlerindeki dosyaları bulma yeteneği tamamen alternatiflerin mevcudiyetine ve doğruluğuna bağlıdır. Hiçbir alternatif mevcut değilse veya yanlışsa lsof, adlandırılan dosya sistemlerindeki dosyaları bulamayacaktır.

Üçüncüsü, lsof'un sisteminizin bağlama (mount) tablosundan elde ettiği dosya sistemi dizinlerinizin adları sembolik bağlantılarsa, lsof bu bağlantıları çözümleyemez. Bunun nedeni, -b seçeneğinin lsof'un sembolik bağlantıları çözümlemek için kullandığı çekirdek readlink(2) fonksiyonundan kaçınmasına neden olmasıdır.

Son olarak, -b seçeneğinin kullanılması, lsof'un -b seçeneğinin kaçınmasını söylediği çekirdek fonksiyonlarını kullanması gerektiğinde uyarı mesajları vermesine neden olur. -w seçeneğini belirterek bu mesajları bastırabilirsiniz, ancak bunu yaparsanız uyarı mesajlarında bildirilen alternatif aygıt numaralarını göremezsiniz.

Alternatif Aygıt Numaraları

Bazı lehçelerde, lsof lstat(2) ve stat(2) çekirdek fonksiyonları aracılığıyla bağlı bir dosya sistemi hakkında bilgi alamadığı için bir blokajı kırmak zorunda kaldığında veya -b seçeneğini belirttiğiniz için, ihtiyaç duyduğu bazı bilgileri - aygıt numarası ve muhtemelen dosya sistemi türü - sistem bağlama tablosundan elde edebilir. Bu mümkün olduğunda, lsof elde ettiği aygıt numarasını bildirecektir. (-w seçeneğini belirterek raporu bastırabilirsiniz.)

Bağlama tablonuz, seçenekler alanı içeren bir /etc/mtab veya /etc/mnttab dosyası ile destekleniyorsa, seçenek dizgilerinde bu alan bulunmayan bağlama noktaları için bir ``dev=xxxx'' alanı ekleyerek bu sürece yardımcı olabilirsiniz. Not: Dosyayı düzenleyebilmeniz gerekir; yani yakın tarihli Solaris /etc/mnttab veya Linux /proc/mounts gibi bazı bağlama tabloları salt okunurdur ve değiştirilemez.

Lehçeniz tarafından desteklenmesi koşuluyla, +m ve +m m seçeneklerini kullanarak da aygıt numaraları sağlayabilirsiniz. +m ve +m m seçeneklerinin mevcut olup olmadığını görmek için lsof'un -h veya -? seçeneklerinin çıktısını kontrol edin.

Alanın ``xxxx'' kısmı, dosya sisteminin aygıt numarasının onaltılık (hexadecimal) değeridir. (Dosya sistemleriniz için uygun değerler için lstat(2) ve stat(2) fonksiyonlarının çıktısının st_dev alanına başvurun.) İşte NFS aracılığıyla uzaktan bağlanmış bir dosya sistemi için bir Sun Solaris 2.6 /etc/mnttab dosyasından bir örnek:

nfs ignore,noquota,dev=2a40001

Bağlama tablosu dosyanızda ``dev=xxxx'' girişlerinin bulunmasının, özellikle uzak NFS sunucularından bağlanan dosya sistemleri için bir avantajı vardır. Uzak bir sunucu çöktüğünde ve istemcilerinden birinde lsof çalıştırarak onun kullanıcılarını tanımlamak istediğinizde, lsof muhtemelen dosya sistemi için lstat(2) ve stat(2) fonksiyonlarından çıktı alamayacaktır. Dosya sisteminin aygıt numarasını bağlama tablosundan elde edebilirse, çöken NFS sunucusunda açık olan dosyaları görüntüleyebilecektir.

Bağlama tablosu için ASCII /etc/mtab veya /etc/mnttab dosyası kullanmayan bazı lehçeler, dahili bağlama tablolarında yine de alternatif bir aygıt numarası sağlayabilir. Buna AIX, Apple Darwin, FreeBSD, NetBSD, OpenBSD ve Tru64 UNIX dahildir. Lsof bu lehçeler için alternatif aygıt numarasını nasıl elde edeceğini bilir ve dosya sistemini lstat(2) veya stat(2) etme girişimi bloke edildiğinde bunu kullanır.

Lehçenizin bağlama tablosundan dosya sistemleri için alternatif aygıt numaraları sağlayıp sağlamadığından emin değilseniz, herhangi bir alternatif aygıt numarası bildirip bildirmediğini görmek için bu lsof komutunu kullanın:

lsof -b

Standart hata dosyasında ``assuming "dev=xxxx" from ...'' ile başlayan uyarı mesajlarını arayın.

Çekirdek Ad Önbelleği (Kernel Name Cache)

Lsof, AFS hariç çoğu dosya sistemi türü için bazı lehçelerde çekirdeğin ad önbelleğini inceleyebilir veya diğer çekirdek imkanlarını kullanabilir (örneğin Tru64 UNIX altında ADVFS 4.x tag_to_path() fonksiyonu) ve buradan son zamanlarda kullanılan yol adı bileşenlerini çıkarabilir. (AFS dosya sistemi yol aramaları çekirdeğin ad önbelleğini kullanmaz; bazı Solaris VxFS dosya sistemi işlemleri de görünüşe göre bunu kullanmamaktadır.)

Lsof bulduğu tam yolları NAME sütununda bildirir. Lsof bir yoldaki tüm bileşenleri bildiremiyorsa, NAME sütununda dosya sistemi adını, ardından bir boşluk, iki - karakteri, başka bir boşluk ve bulduğu ad bileşenlerini / karakteriyle ayrılmış olarak bildirir.

Lsof tekrarlama modunda çalıştırıldığında (yani -r seçeneği belirtildiğinde), aynı dosya için yol adı bileşenlerini bildirebilme derecesi döngüden döngüye değişebilir. Bunun nedeni, çalışan diğer süreçlerin, çekirdeğin ad önbelleğindeki girdileri silmesine ve bunları başkalarıyla değiştirmesine neden olabilmesidir.

Lsof'un dosyaların yollarını tanımlamak için çekirdek ad önbelleğini kullanması, bazı durumlarda yanlış bileşenleri bildirmesine yol açabilir. Bu durum, çekirdek ad önbelleğinin anahtar olarak aygıt ve düğüm (node) numarasını kullandığı (örneğin SCO OpenServer) ve hızla değişen bir dosya sistemindeki bir anahtarın yeniden kullanıldığı durumlarda meydana gelebilir. UNIX lehçesinin çekirdeği bir dosyanın bağlantısı kesildiğinde (unlinked) önbellekteki ad önbelleği girdisini temizlemiyorsa, lsof önbellekte yanlış girdiye ait bir referans bulabilir. Bu durum hakkında daha fazla bilgi lsof SSS'sinde (SSS bölümü konumunu belirtir) yer almaktadır.

Lsof bu lehçeler için yol adı bileşenlerini bildirebilir:

FreeBSD HP-UX Linux NetBSD NEXTSTEP OpenBSD OPENSTEP SCO OpenServer SCO|Caldera UnixWare Solaris Tru64 UNIX

Lsof bu lehçeler için yol adı bileşenlerini bildiremez:

AIX

Lsof'un neden bazı lehçeler için yol adı bileşenlerini bildiremediğini bilmek istiyorsanız, lsof SSS'sine bakın (SSS bölümü konumunu belirtir).

Aygıt Önbellek Dosyası (Device Cache File)

stat(2) fonksiyonları ile /dev (veya /devices) düğüm ağacının tüm üyelerini incelemek zaman alıcı olabilir. Dahası, lsof'un ihtiyaç duyduğu bilgiler - aygıt numarası, inode numarası ve yol - nadiren değişir.

Sonuç olarak lsof normalde önbelleğe alınmış /dev (veya /devices) bilgilerini içeren bir ASCII metin dosyası tutar (istisna: buna ihtiyaç duyulmayan /proc tabanlı Linux lsof). Lsof'u derleyen yerel sistem yöneticisi, bu seçenekler arasından seçim yaparak aygıt önbellek dosyası yolunun nasıl oluşturulacağını kontrol edebilir:

-D seçeneğinden alınan yol; Bir ortam değişkeninden alınan yol; Sistem genelindeki yol; Kişisel yol (varsayılan); Bir ortam değişkeni ile değiştirilmiş kişisel yol.

Aygıt önbellek desteğinin mevcut durumu için -h, -D? veya -? yardım seçeneklerinin çıktısına başvurun. Yardım çıktısı, lsof'un mevcut çağrısı için geçerli olan varsayılan okuma modu aygıt önbellek dosyası yolunu listeler. -D? seçeneğinin çıktısı salt okunur ve yazılabilir aygıt önbellek dosyası yollarını, geçerli ortam değişkenlerinin adlarını ve kişisel aygıt önbellek yolu biçimini listeler.

Lsof, dosya içeriği üzerinde on altı bitlik bir Döngüsel Artıklık Denetimi (CRC) toplamının hesaplanması ve doğrulanması dahil olmak üzere bütünlük kontrolleri ile mevcut aygıt önbellek dosyasının kazara veya kötü niyetle değiştirildiğini tespit edebilir. Lsof dosyada bir sorun algıladığında bir uyarı verir ve mevcut önbellek dosyasını silmeye ve yeni bir kopya oluşturmaya çalışır, ancak bunu yalnızca sürecin meşru olarak yazabileceği bir yola yapar.

Bir lsof sürecinin bir aygıt önbellek dosyasını okumaya çalışabileceği yol, meşru olarak yazabileceği yol ile aynı olmayabilir. Bu nedenle lsof, aygıt önbellek dosyasını güncellemesi gerektiğini algıladığında, dosyayı yazmak için hatalı veya güncelliğini yitirmiş sürümü okuduğu yoldan farklı bir yol seçebilir.

Mevcutsa, -Dr seçeneği yeni bir aygıt önbellek dosyasının yazılmasını engelleyecektir. (Bir yol adı argümanı olmadan belirtildiğinde her zaman mevcuttur.)

Sisteme yeni bir aygıt eklendiğinde, aygıt önbellek dosyasının yeniden oluşturulması gerekebilir. Lsof, aygıt önbellek dosyasının mtime değerini /dev (veya /devices) dizininin mtime ve ctime değerleriyle karşılaştırdığından, genellikle yeni bir aygıtın eklendiğini tespit eder; bu durumda lsof bir uyarı mesajı verir ve aygıt önbellek dosyasını yeniden oluşturmaya çalışır.

Lsof bir aygıt önbellek dosyası yazdığında, sahipliğini yürüten sürecin gerçek UID'sine ayarlar ve izin modlarını 0600 yapar, böylece okuma ve yazma işlemlerini dosyanın sahibiyle sınırlandırır.

AYGIT ÖNBELLEK DOSYASI ERİŞİMİNİ ETKİLEYEN LSOF İZİNLERİ Lsof yürütülebilir dosyasının iki izni, aygıt önbellek dosyalarına erişme yeteneğini etkiler. İzinler, lsof kurulurken yerel sistem yöneticisi tarafından ayarlanır.

Birinci ve daha nadir olan izin setuid-root'tur. Lsof yürütüldüğünde yürürlüğe girer; bu durumda etkin UID'si root olurken, gerçek (yani oturum açmış kullanıcının) UID'si root olmaz. Lsof dağıtımı, bu lehçelere ait sürümlerin setuid-root olarak çalıştırılmasını önerir.

HP-UX 11.11 ve 11.23 Linux

İkinci ve daha yaygın olan izin setgiddir. Lsof sürecinin etkin grup tanımlama numarası (GID), çekirdek bellek aygıtlarına erişebilen bir değere - örneğin kmem'', sys'' veya ``system'' - ayarlandığında yürürlüğe girer.

Setgid iznine sahip bir lsof süreci, genellikle çekirdek bellek aygıtlarına eriştikten sonra bu izni bırakır. Bunu yaptığında lsof, daha serbest aygıt önbellek yolu oluşturulmasına izin verebilir. Lsof dağıtımı, bu lehçelere ait sürümlerin setgid olarak çalıştırılmasını ve setgid iznini bırakmasına izin verilmesini önerir.

AIX 5.[12] ve 5.3-ML1 Apple Darwin 7.x Power Macintosh sistemleri FreeBSD 4.x, 4.1x, 5.x ve [6789].x (x86 tabanlı sistemler için) FreeBSD 5.x, [6789].x ve 1[012].8 (Alpha, AMD64 ve Sparc64 tabanlı sistemler için) HP-UX 11.00 NetBSD 1.[456], 2.x ve 3.x (Alpha, x86 ve SPARC tabanlı sistemler için) NEXTSTEP mimarileri için NEXTSTEP 3.[13] OpenBSD 2.[89] ve 3.[0-9] (x86 tabanlı sistemler için) OPENSTEP 4.x x86 tabanlı sistemler için SCO OpenServer Sürüm 5.0.6 x86 tabanlı sistemler için SCO|Caldera UnixWare 7.1.4 Solaris 2.6, 8, 9 ve 10 Tru64 UNIX 5.1

(Not: -X seçeneği kullanılıyorsa AIX 5L ve üzeri için lsof, setuid-root iznine ihtiyaç duyar.)

Bu lehçeler için lsof bir aygıt önbelleğini desteklemez, bu nedenle yürütülebilir dosyaya verilen izinler aygıt önbellek dosyası için geçerli değildir.

Linux

-D SEÇENEĞİNDEN ALINAN AYGIT ÖNBELLEK DOSYASI YOLU -D seçeneği, aygıt önbellek dosyası yolu belirtmek için sınırlı yollar sunar. Onun ? fonksiyonu, lsof'un kullanacağı salt okunur ve yazılabilir aygıt önbellek dosyası yollarını bildirecektir.

-D b, r ve u fonksiyonları mevcut olduğunda, önbellek dosyasının belirli bir konumda oluşturulmasını (b[path]); okunmasını ancak yeniden oluşturulmamasını (r[path]); veya okunmasını ve yeniden oluşturulmasını (u[path]) talep etmek için bunları kullanabilirsiniz. b, r ve u fonksiyonları bazı durumlarda sınırlandırılmıştır. Lsof süreci setuid-root olduğunda sınırlandırılırlar. r fonksiyonu ile belirtilen yol, mevcut olduğunda bile her zaman salt okunurdur.

b, r ve u fonksiyonları, lsof süreci setgid olarak çalıştığında ve lsof setgid iznini bırakmadığında da sınırlandırılır. (Normalde setgid izinlerini bırakmayan uygulamaların listesi için AYGIT ÖNBELLEK DOSYASI ERİŞİMİNİ ETKİLEYEN LSOF İZİNLERİ bölümüne bakın.)

Bir diğer -D fonksiyonu olan i (ignore - yoksay için) her zaman mevcuttur.

Mevcut olduğunda, b fonksiyonu lsof'a stat(2) fonksiyonu ile çekirdekten aygıt bilgilerini okumasını ve belirtilen yolda bir aygıt önbellek dosyası oluşturmasını söyler.

Mevcut olduğunda, r fonksiyonu lsof'a aygıt önbellek dosyasını okumasını ancak güncellememesini söyler. -Dr seçeneğine bir yol argümanı eşlik ettiğinde, bu aygıt önbellek dosyasının yolunu adlandırır. Bir yol adı argümanı olmadan belirtildiğinde r fonksiyonu her zaman mevcuttur. Lsof setuid-root olarak çalışmıyorsa ve setgid iznini bırakıyorsa, r fonksiyonuna bir yol adı argümanı eşlik edebilir.

Mevcut olduğunda, u fonksiyonu lsof'a aygıt önbellek dosyasını okumaya ve kullanmaya çalışmasını söyler. Dosyayı okuyamazsa veya dosyanın içeriğini yanlış ya da güncelliğini yitirmiş bulursa çekirdekten bilgi okuyacak ve aygıt önbellek dosyasının güncellenmiş bir sürümünü yazmaya çalışacaktır, ancak bunu yalnızca lsof sürecinin etkin ve gerçek UID'leri için meşru kabul ettiği bir yola yapacaktır.

Bir Ortam Değişkeninden Alınan Aygıt Önbellek Yolu

Lsof'un aygıt önbellek dosyası için ikinci seçeneği, LSOFDEVCACHE ortam değişkeninin içeriğidir. Lsof süreci setuid-root ise veya sürecin gerçek UID'si root ise bu seçimi yapmaktan kaçınır.

LSOFDEVCACHE ortam değişkeninden alınan bir aygıt önbellek dosyası yolu için ek bir sınırlama daha geçerlidir: lsof süreci setgid iznini bırakmazsa, lsof bu yola bir aygıt önbellek dosyası yazmayacaktır. (Setgid izinlerini bırakmayan uygulamalar hakkındaki bilgiler için AYGIT ÖNBELLEK DOSYASI ERİŞİMİNİ ETKİLEYEN LSOF İZİNLERİ bölümüne bakın.)

Yerel sistem yöneticisi, lsof'u derlerken LSOFDEVCACHE ortam değişkeninin kullanımını devre dışı bırakabilir veya adını değiştirebilir. Ortam değişkeninin adı için -D? çıktısına başvurun.

Sistem Genelindeki Aygıt Önbellek Yolu

Yerel sistem yöneticisi, lsof'u derlerken sistem genelinde geçerli olacak bir aygıt önbellek dosyasına sahip olmayı seçebilir. Bu dosya genellikle sistem önyüklendiğinde (boot edildiğinde) veya /dev veya /devices içeriği değiştiğinde özel bir sistem yönetimi prosedürü tarafından oluşturulacaktır. Tanımlanmışsa, bu lsof'un üçüncü aygıt önbellek dosyası yolu seçeneğidir.

Lokal kurulumunuz için sistem genelinde bir aygıt önbellek dosyasının etkin olup olmadığını lsof yardım seçeneği çıktısını (yani -h veya -? seçeneğinin çıktısını) inceleyerek anlayabilirsiniz.

Lsof varsayılan olarak sistem genelindeki aygıt önbellek dosyası yoluna asla yazmayacaktır. root yetkisindeki bir prosedürde -D fonksiyonu ile açıkça belirtilmelidir. Dosya yazıldıktan sonra prosedür, dosyanın izin modlarını 0644 (sahibi-okuyabilir ve sahibi-yazabilir, grup-okuyabilir ve diğerleri-okuyabilir) olarak değiştirmelidir.

KİŞİSEL AYGIT ÖNBELLEK YOLU (VARSAYILAN) Lsof dağıtımının varsayılan aygıt önbellek dosyası yolu, lsof'u yürüten gerçek UID'nin ev (home) dizininde kaydedilen yoldur. Ev dizinine .lsof_hostname biçiminde ikinci bir yol bileşeni eklenir.

Bu lsof'un dördüncü aygıt önbellek dosyası yolu seçimidir ve genellikle varsayılandır. Lsof derlenirken sistem genelinde bir aygıt önbellek dosyası yolu tanımlanmışsa, bu dördüncü seçim lsof sistem genelindeki aygıt önbellek dosyasını bulamadığında uygulanacaktır. Bu, lsof'un aygıt önbellek dosyasını okurken iki yol kullandığı tek durumdur.

İkinci bileşenin hostname kısmı, gethostname(2) tarafından döndürülen, yürüten ana bilgisayarın temel adıdır (base name). Temel ad, gethostname(2) çıktısındaki ilk . karakterinden önceki karakterler veya çıktı herhangi bir . içermiyorsa gethostname(2) çıktısının tamamı olarak tanımlanır.

Aygıt önbellek dosyası kullanıcı ID'sine aittir ve yalnızca kullanıcı ID'si tarafından okunabilir ve yazılabilirdir; yani modları 0600'dür. Belirli bir ana bilgisayarda lsof yürüten her farklı gerçek kullanıcı ID'si, farklı bir aygıt önbellek dosyasına sahiptir. Yolun hostname kısmı, aygıt önbellek dosyalarının birkaç farklı ana bilgisayardan yazıldığı NFS ile bağlanmış bir ev dizinindeki aygıt önbellek dosyalarını birbirinden ayırır.

Bu yöntemle oluşturulan kişisel aygıt önbellek dosyası yolu, lsof'un okumaya çalışacağı ve mevcut olmaması veya içeriğinin yanlış ya da güncelliğini yitirmiş olması durumunda yazmaya çalışacağı bir aygıt önbellek dosyasını temsil eder.

Bir yol adı argümanı olmayan -Dr seçeneği yeni bir aygıt önbellek dosyasının yazılmasını engelleyecektir.

-D? seçeneği, kişisel aygıt önbellek dosyasını oluşturmak için kullanılan biçim belirtimini (format specification) listeleyecektir. Biçim belirtiminde kullanılan dönüşümler, lsof dağıtımının 00DCACHE dosyasında açıklanmıştır.

DEĞİŞTİRİLMİŞ KİŞİSEL AYGIT ÖNBELLEK YOLU Lsof derlenirken yerel sistem yöneticisi tarafından bu seçenek tanımlanmışsa, kişisel aygıt önbellek dosyası yolunun bir bileşenini eklemek için LSOFPERSDCPATH ortam değişkeninin içeriği kullanılabilir.

LSOFPERSDCPATH değişkeninin içeriği, lehçenin machine.h başlık dosyasının HASPERSDC biçim belirtiminde yerel sistem yöneticisi tarafından ``%p'' dönüşümü ile işaretlenen yere eklenir. (Varsayılan lsof dağıtımında doğrudan ev dizininden hemen sonraya yerleştirilir.)

Böylece, örneğin LSOFPERSDCPATH LSOF'' içeriyorsa, ev dizini /Homes/abe'', ana bilgisayar adı lsof.itap.purdue.edu'' ve HASPERSDC biçimi varsayılan (%h/%p.lsof_%L'') ise değiştirilmiş kişisel aygıt önbellek dosyası yolu şudur:

/Homes/abe/LSOF/.lsof_vic

Lsof süreci setuid-root olduğunda veya sürecin gerçek UID'si root olduğunda LSOFPERSDCPATH ortam değişkeni yoksayılır.

Lsof süreci setgid iznini bırakmazsa, değiştirilmiş kişisel aygıt önbellek dosyası yoluna yazmayacaktır. (Normalde setgid izinlerini bırakmayan uygulamaların listesi için AYGIT ÖNBELLEK DOSYASI ERİŞİMİNİ ETKİLEYEN LSOF İZİNLERİ bölümüne bakın.)

Örneğin, adlandırmak için LSOFPERSDCPATH ortam değişkenini kullanarak kişisel aygıt önbellek dosyası yollarından oluşan bir alt dizin oluşturmak istiyorsanız ve lsof setgid iznini bırakmıyorsa, lsof'un standart kişisel yolda aygıt önbellek dosyaları oluşturmasına izin vermeniz ve bunları kabuk komutlarıyla alt dizininize taşımanız gerekecektir.

Yerel sistem yöneticisi şunları yapabilir: lsof derlenirken bu seçeneği devre dışı bırakabilir; ortam değişkeninin adını LSOFPERSDCPATH yerine başka bir şeye değiştirebilir; kişisel yol bileşenini başka bir yere dahil etmek için HASPERSDC biçimini değiştirebilir; veya kişisel yol bileşenini tamamen hariç tutabilir. Ortam değişkeninin adı ve HASPERSDC biçim belirtimi için -D? seçeneğinin çıktısına başvurun.

Teşhis Ve Tanılama (Diagnostics)

Hatalar, standart hata dosyasındaki mesajlarla tanımlanır.

Lsof, listelenmesi istenen komut adlarını, dosya adlarını, Internet adreslerini veya dosyalarını, oturum açma adlarını, NFS dosyalarını, PID'leri, PGID'leri veya UID'leri bulamama dahil olmak üzere herhangi bir hata tespit edilirse bir (1) döndürür. -V seçeneği belirtilirse lsof listelemeyi başaramadığı arama öğelerini belirtecektir.

Hiçbir hata tespit edilmediyse ve belirtilen tüm arama argümanları hakkında bazı bilgileri listeleyebildiyse sıfır (0) döndürür.

Lsof /dev (veya /devices) dizinine veya alt dizinlerinden birine erişim sağlayamadığında ya da stat(2) ile bunlardaki bir dosya hakkında bilgi alamadığında, bir uyarı mesajı verir ve devam eder. Lsof'un /dev (veya /devices) dizinindeki erişilemeyen dosyalar hakkında uyarı mesajları vereceği, -h veya -? seçenekleriyle istenen yardım çıktısında şu mesajla belirtilir:

Inaccessible /dev warnings are enabled.

Uyarı mesajı -w seçeneği ile bastırılabilir. Lsof derlenirken sistem yöneticisi tarafından WARNDEVACCESS tanımının ayarlanmasıyla da bastırılmış olabilir. Bu durumda yardım seçeneklerinin çıktısı şu mesajı içerecektir:

Inaccessible /dev warnings are disabled.

Erişilemeyen aygıt uyarı mesajları, genellikle lsof çalışan bir aygıt önbellek dosyası oluşturduktan sonra kaybolur.

Örnekler

       Daha kapsamlı ve daha eksiksiz belgelenmiş örnekler kümesi için lsof dağıtımının 00QUICKSTART
       dosyasına bakın.

       Tüm açık dosyaları listelemek için şunu kullanın:

	      lsof

       Tüm açık Internet, x.25 (HP-UX) ve UNIX domain dosyalarını listelemek için şunu kullanın:

	      lsof -i -U

       PID değeri 1234 olan süreç tarafından kullanılan tüm açık IPv4 ağ dosyalarını listelemek için şunu kullanın:

	      lsof -i 4 -a -p 1234

       UNIX lehçesinin IPv6'yı desteklediği varsayımıyla, yalnızca açık IPv6 ağ dosyalarını listelemek için şunu kullanın:

	      lsof -i 6

       wonderland.cc.purdue.edu ana bilgisayarının 513, 514 veya 515 portlarında herhangi bir protokolü
       kullanan tüm dosyaları listelemek için şunu kullanın:

	      lsof -i @wonderland.cc.purdue.edu:513-515

       mace.cc.purdue.edu ana bilgisayarının herhangi bir portunda herhangi bir protokolü kullanan tüm dosyaları
       listelemek için (varsayılan alan adı cc.purdue.edu'dur) şunu kullanın:

	      lsof -i @mace

       Oturum açma adı ``abe'' veya kullanıcı ID'si 1234 veya süreç 456 veya süreç 123 veya süreç 789
       için tüm açık dosyaları listelemek için şunu kullanın:

	      lsof -p 456,123,789 -u 1234,abe

       /dev/hd4 aygıtındaki tüm açık dosyaları listelemek için şunu kullanın:

	      lsof /dev/hd4

       /u/abe/foo dosyasını açık tutan süreci bulmak için şunu kullanın:

	      lsof /u/abe/foo

       /u/abe/bar dosyasını açık tutan süreçlere bir SIGHUP sinyali göndermek için şunu kullanın:

	      kill -HUP `lsof -t /u/abe/bar`

       /dev/log adıyla açık olan herhangi bir dosyayı (açık bir UNIX domain soket dosyası dahil)
       bulmak için şunu kullanın:

	      lsof /dev/log

       Sunucusu erişilemez durumda olan /nfs/mount/point adlı NFS dosya sisteminde açık dosyaları bulunan süreçleri
       bulmak için ve bağlama tablonuzun /nfs/mount/point için aygıt numarasını sağladığı varsayımıyla şunu kullanın:

	      lsof -b /nfs/mount/point

       Yukarıdaki aramayı uyarı mesajları bastırılmış olarak yapmak için şunu kullanın:

	      lsof -bw /nfs/mount/point

       Aygıt önbellek dosyasını yoksaymak için şunu kullanın:

	      lsof -Di

       Her süreç için PID ve komut adı alan çıktısını ve her sürecin her dosyası için dosya tanımlayıcısını,
       dosya aygıt numarasını ve dosya inode numarasını elde etmek için şunu kullanın:

	      lsof -FpcfDi

       Oturum açma kimliği ``abe'' olan ve lsof komutunu çalıştıran her sürecin 1 ve 3 numaralı tanımlayıcılarındaki
       dosyaları her 10 saniyede bir listelemek için şunu kullanın:

	      lsof -c lsof -a -d 1 -d 3 -u abe -r10

       Komut adı tam olarak daha dört karakter uzunluğunda olan ve üçüncü karakterinde 'o' veya 'O' harfi bulunan
       süreçlerin mevcut çalışma dizinini listelemek için, -c c seçeneğinin bu düzenli ifade (regular expression)
       biçimini kullanın:

	      lsof -c /^..o.$/i -a -d cwd

       İlişkili sayısal nokta biçimindeki adresiyle bir IP sürüm 4 soket dosyasını bulmak için şunu kullanın:

	      lsof -i@128.210.15.17

       (UNIX lehçesi IPv6'yı desteklediğinde) ilişkili sayısal iki nokta üst üste biçimindeki adresiyle bir
       IP sürüm 6 soket dosyasını bulmak için şunu kullanın:

	      lsof -i@[0:1:2:3:4:5:6:7]

       (UNIX lehçesi IPv6'yı desteklediğinde) içinde sıfır dizisi bulunan ilişkili bir sayısal iki nokta üst üste
       biçimindeki adresle - örneğin loop-back (geri döngü) adresi - bir IP sürüm 6 soket dosyasını bulmak için şunu kullanın:

	      lsof -i@[::1]

       Geçerli saati içeren bir tekrarlama modu işaretçi satırı elde etmek için şunu kullanın:

	      lsof -rm====%T====

       Önceki işaretçi satırına boşluk eklemek için şunu kullanın:

	      lsof -r "m==== %T ===="

Hatalar (Bugs)

Lsof açık dosyaları ararken çekirdek meyilli belleğini okuduğundan, çekirdek belleğindeki hızlı değişiklikler öngörülen sonuçlar doğurabilir.

Bir dosyanın birden fazla kayıt kilidi (record lock) olduğunda, kilit durumu karakteri (dosya tanımlayıcısını takip eden) birden fazla kilit yapısı tarafından tanımlanabilecek bireysel kayıt kilitlerinin herhangi bir kombinasyonundan değil, ilk kilit yapısının test edilmesinden türetilir.

Lsof, root set-UID izni ile kurulmadığı sürece kısıtlayıcı erişim izinlerine sahip dosyaları adı ile arayamaz. Aksi takdirde, araması kullanıcısının veya set-GID grubunun (varsa) erişim iznine sahip olduğu dosyalarla sınırlıdır.

Ham bir soketin (örneğin ping için) hedef adresinin görüntülenmesi UNIX işletim sistemine bağlıdır. Bazı lehçeler hedef adresi ham soketin protokol kontrol bloğunda saklar, bazıları ise saklamaz.

Lsof, Solaris aygıt numaralarını her zaman ls(1) ile aynı şekilde temsil edemez. Örneğin, CD-ROM dosyalarının bağlandığı dizin (genellikle /cdrom) için lstat(2) ve stat(2) fonksiyonlarının bildirdiği major ve minor aygıt numaraları, CD-ROM dosyalarının bağlandığı aygıt (genellikle /dev/sr0) için bildirdikleriyle aynı değildir. (Lsof dizin numaralarını bildirir.)

/proc dosya sistemleri desteği yalnızca BSD ve Tru64 UNIX lehçeleri, Linux ve SYSV R4'ten türetilen lehçeler (örneğin FreeBSD, NetBSD, OpenBSD, Solaris, UnixWare) için mevcuttur.

Bazı /proc dosya öğeleri - aygıt numarası, inode numarası ve dosya boyutu - bazı lehçelerde mevcut değildir. Bir /proc dosya sisteminde dosya aramak, tam yol adının belirtilmesini gerektirebilir.

Linux süreçleri için hiçbir metin (txt) dosya tanımlayıcısı görüntülenmez. Mevcut çalışma dizini, kök dizin ve sayısal dosya tanımlayıcıları dışındaki dosyalara ait tüm girdiler mem tanımlayıcıları olarak etiketlenir.

Lsof, Tru64 UNIX adlandırılmış borularını (named pipes) adı ile arayamaz, çünkü bunların lstat(2) çekirdek uygulaması adlandırılmış bir boru için uygun olmayan bir aygıt numarası döndürür.

Lsof, çekirdek verilerine yetersiz erişim veya çekirdek verilerindeki hatalar nedeniyle HP-UX 9.01, 10.20 ve 11.00 kilitlerini tam veya doğru olarak bildiremez. Ayrıntılar için lsof SSS'sine (SSS bölümü konumunu belirtir) bakın.

AIX SMT dosya türü bir uydurmadır. AIX /usr/include/sys/file.h başlık dosyasında türü (15) tanımlanmamış olan dosya yapıları için uydurulmuştur. Bu tür dosya yapılarını oluşturmanın bir yolu, DISPLAY değişkenini ``:0.0'' olarak ayarlayarak X istemcilerini çalıştırmaktır.

+|-f[cfgGn] seçeneği /proc tabanlı Linux lsof altında desteklenmez, çünkü çekirdek bellekten çekirdek yapılarını okumaz.

Ortam (Environment)

Lsof bu ortam değişkenlerine erişebilir.

LANG bir dil yerel ayarını (locale) tanımlar. LANG yerine kullanılabilecek diğer değişkenlerin (örneğin LC_ALL, LC_TYPE vb.) adları için setlocale(3) fonksiyonuna bakın.

LSOFDEVCACHE bir aygıt önbellek dosyasının yolunu tanımlar. Daha fazla bilgi için BİR ORTAM DEĞİŞKENİNDEN ALINAN AYGIT ÖNBELLEK YOLU bölümüne bakın.

LSOFPERSDCPATH değiştirilmiş bir kişisel aygıt önbellek dosyası yolunun orta bileşenini tanımlar. Daha fazla bilgi için DEĞİŞTİRİLMİŞ KİŞİSEL AYGIT ÖNBELLEK YOLU bölümüne bakın.

SSS (Faq)

Sıkça sorulan sorular ve cevapları (bir SSS), lsof dağıtımının 00FAQ dosyasında mevcuttur.

Bu dosya ayrıca lsof.itap.purdue.edu adresinden anonim ftp aracılığıyla pub/tools/unix/lsofFAQ konumundan da edinilebilir. URL şudur:

ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ

Dosyalar (Files)

/dev/kmem çekirdek sanal bellek aygıtı

/dev/mem fiziksel bellek aygıtı

/dev/swap sistem sayfalama (paging) aygıtı

.lsof_hostname lsof'un aygıt önbellek dosyası (Son ek olan hostname, gethostname(2) tarafından döndürülen ana bilgisayar adının ilk bileşenidir.)

Yazarlar (Authors)

Lsof, Purdue University'den Victor A. Abell abe@purdue.edu tarafından yazılmıştır. Diğer birçok kişi lsof'a katkıda bulunmuştur. Bunlar lsof dağıtımının 00CREDITS dosyasında listelenmiştir.

Dağıtım (Distribution)

En son lsof dağıtımı, lsof.itap.purdue.edu ana bilgisayarından anonim ftp aracılığıyla edinilebilir. lsof dağıtımını pub/tools/unix/lsof dizininde bulabilirsiniz.

Şu URL'yi de kullanabilirsiniz:

ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof

Lsof ayrıca başka yerlerde yansılanmaktadır (mirroring). lsof.itap.purdue.edu adresine eriştiğinizde ve pub/tools/unix/lsof dizinine geçtiğinizde, size bazı yansı sitelerinin (mirror sites) listesi verilecektir. pub/tools/unix/lsof dizini ayrıca mirrors dosyasında daha eksiksiz bir liste içerir. Yansı sitelerini dikkatli kullanın; tüm yansılar her zaman en son lsof revizyonuna sahip olmayabilir.

Derlenmiş bazı lsof yürütülebilir dosyaları lsof.itap.purdue.edu adresinde mevcuttur, ancak bunların kullanılması önerilmez; kaynak kodlardan kendi dosyanızı derlemeniz daha iyidir. Derlenmiş bir yürütülebilir dosya kullanmak zorunda olduğunuzu hissediyorsanız, lütfen pub/tools/unix/lsof/binaries alt dizinlerinin README dosyalarında ve dağıtımın 00* dosyalarında görünen uyarıları okuyun.

lsof dağıtımı hakkında daha fazla bilgi README.lsof_ dosyasında bulunabilir. lsof dağıtımını edinmeyi ve derlemeyi düşünüyorsanız, lütfen yazara sorular göndermeden önce README.lsof_ dosyasını ve dağıtımın diğer 00* dosyalarını okuyun.

Ayrıca Bakınız (See Also)

Aşağıdaki kılavuz sayfalarının tümü lsof'un bağlantı noktası sağlandığı (port edildiği) her UNIX lehçesinde mevcut olmayabilir.

access(2), awk(1), crash(1), fattach(3C), ff(1), fstat(8), fuser(1), gethostname(2), isprint(3), kill(1), localtime(3), lstat(2), modload(8), mount(8), netstat(1), ofiles(8L), perl(1), ps(1), readlink(2), setlocale(3), stat(2), strftime(3), time(2), uname(1).

Revision-4.91 LSOF(8)