![Ubuntu Unity Launcher için UbuntuOne dosya yükleyicisini sürükleyip bırakın](/f/640cc2fb8a8385feea44f7eeeaff9834.png?width=100&height=100)
Bu yazıda, Linux'ta belirli bir dosyayı kimin kullandığını nasıl bulacağımızı açıklayacağız. Bu, açık bir dosya kullanan sistem kullanıcısını veya işlemini tanımanıza yardımcı olacaktır.
kullanabiliriz lsof komutu birinin bir dosyayı kullanıp kullanmadığını ve eğer kullanıyorlarsa, kim olduğunu bilmek. Açık dosyaları ararken çekirdek belleği okur ve tüm açık dosyaları listelemenize yardımcı olur. Bu durumda, açık bir dosya normal bir dosya, bir dizin, bir blok özel dosyası, bir karakter özel dosyası, bir akış, bir ağ dosyası ve diğerleri olabilir - çünkü Linux her şey bir dosyadır.
Lsof bir dosya sisteminde, o dosya sistemindeki dosyaları kimin kullandığını belirlemek için kullanılır. Koşabilirsin lsof komutu Linux dosya sisteminde ve çıktı, aşağıdaki çıktıda gösterildiği gibi dosyayı kullanan işlemler için sahibi ve işlem bilgilerini tanımlar.
$ lsof /dev/null
Linux'ta Açılan Tüm Dosyaların Listesi
KOMUT PID KULLANICI FD TİPİ CİHAZ BOYUTU/KAPALI DÜĞÜM ADI. systemd 1480 tekmint 0r CHR 1,3 0t0 6 /dev/null. sh 1501 tekmint 0r CHR 1,3 0t0 6 /dev/null. sh 1501 tekmint 1w CHR 1,3 0t0 6 /dev/null. dbus-daem 1530 tekmint 0u CHR 1,3 0t0 6 /dev/null. xfce4-ses 1603 tekmint 0r CHR 1,3 0t0 6 /dev/null. xfce4-ses 1603 tekmint 1w CHR 1,3 0t0 6 /dev/null. at-spi-bu 1604 tekmint 0r CHR 1,3 0t0 6 /dev/null. dbus-daem 1609 tekmint 0u CHR 1,3 0t0 6 /dev/null. at-spi2-r 1611 tekmint 0u CHR 1,3 0t0 6 /dev/null. xfconfd 1615 tekmint 0u CHR 1,3 0t0 6 /dev/null. xfwm4 1624 tekmint 0r CHR 1,3 0t0 6 /dev/null. xfwm4 1624 tekmint 1w CHR 1,3 0t0 6 /dev/null. xfce4-pan 1628 tekmint 0r CHR 1,3 0t0 6 /dev/null. xfce4-pan 1628 tekmint 1w CHR 1,3 0t0 6 /dev/null. Thunar 1630 tekmint 0r CHR 1,3 0t0 6 /dev/null. Thunar 1630 tekmint 1w CHR 1,3 0t0 6 /dev/null. xfdesktop 1632 tekmint 0r CHR 1,3 0t0 6 /dev/null. xfdesktop 1632 tekmint 1w CHR 1,3 0t0 6 /dev/null...
Kullanıcıya özel açılan dosyaları listelemek için aşağıdaki komutu çalıştırın replace tek dane
gerçek kullanıcı adıyla.
$ lsof -u tekmint
Kullanıcı Tarafından Açılan Dosyaların Listesi
KOMUT PID KULLANICI FD TİPİ CİHAZ BOYUTU/KAPALI DÜĞÜM ADI. systemd 1480 tekmint cwd DIR 8,3 4096 2 / systemd 1480 tekmint rtd DIR 8,3 4096 2 / systemd 1480 tecmint txt REG 8,3 1595792 3147496 /lib/systemd/systemd. systemd 1480 tekmint mem REG 8,3 1700792 3150525 /lib/x86_64-linux-gnu/libm-2.27.so. systemd 1480 tekmint mem REG 8,3 121016 3146329 /lib/x86_64-linux-gnu/libudev.so.1.6.9. systemd 1480 tekmint mem REG 8,3 84032 3150503 /lib/x86_64-linux-gnu/libgpg-error.so.0.22.0. systemd 1480 tekmint mem REG 8,3 43304 3150514 /lib/x86_64-linux-gnu/libjson-c.so.3.0.1. systemd 1480 tekmint mem REG 8,3 34872 2497970 /usr/lib/x86_64-linux-gnu/libargon2.so.0. systemd 1480 tekmint mem REG 8,3 432640 3150484 /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1. systemd 1480 tekmint mem REG 8,3 18680 3150450 /lib/x86_64-linux-gnu/libattr.so.1.1.0. systemd 1480 tekmint mem REG 8,3 18712 3150465 /lib/x86_64-linux-gnu/libcap-ng.so.0.0.0. systemd 1480 tekmint mem REG 8,3 27112 3150489 /lib/x86_64-linux-gnu/libuuid.so.1.3.0. systemd 1480 tecmint mem REG 8,3 14560 3150485 /lib/x86_64-linux-gnu/libdl-2.27.so...
Bir diğer önemli kullanım lsof etmektir belirli bir bağlantı noktasında dinleme işlemini öğrenin. Örneğin, bağlantı noktasında dinleme işlemini tanımlayın 80 aşağıdaki komutu kullanarak.
$ sudo lsof -i TCP: 80
Süreç Dinleme Portunu Bul
KOMUT PID KULLANICI FD TİPİ CİHAZ BOYUTU/KAPALI DÜĞÜM ADI. httpd 903 root 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 1320 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 1481 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 1482 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 1493 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 1763 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 2027 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 2029 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 2044 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 3199 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE) httpd 3201 apache 4u IPv6 20222 0t0 TCP *:http (DİNLE)
Not: O zamandan beri lsof açık dosyaları ararken çekirdek belleği okur, çekirdek belleğindeki hızlı değişiklikler öngörülemeyen çıktılara neden olabilir. Bu, kullanmanın en büyük dezavantajlarından biridir. lsof komutu.
Daha fazla bilgi için bkz. lsof adam sayfası:
$ adam lsof.
Bu kadar! Bu yazıda, Linux'ta belirli bir dosyayı kimin kullandığını nasıl bileceğimizi açıkladık. Açık bir dosya kullanan işlemler için sahip ve işlem bilgilerinin nasıl belirleneceğini gösterdik. Herhangi bir soru veya yorumunuz için bize ulaşmak için aşağıdaki geri bildirim formunu kullanın.