Açılmış bir dosyanın ofsetini nasıl bulabilirim?


26

Sorunum şu ki lsof -p pid , işlem kimliği ödenen bir işlemin açılan dosyasının listesini bulabilirim. Ancak erişilen her bir dosyanın ofsetini bulmanın bir yolu var mı?

Bana tavsiyelerde bulun lütfen ?

Yanıtlar:


38

Linux üzerinde, dosya tanıtıcı sayısının konumunu bulabilirsiniz Nsürecin PIDiçinde /proc/$PID/fdinfo/$N. Örnek:

$ cat /proc/687705/fdinfo/36
pos:    26088
flags:  0100001

Aynı dosya, birkaç dosya tanımlayıcısı kullanılarak farklı konumlarda birkaç kez açılabilir, bu nedenle birden fazla olması durumunda ilgili dosyayı seçmeniz gerekir. kullanın:

$ readlink /proc/$PID/fd/$N

Karşılık gelen dosya tanımlayıcısının eklendiği dosyanın ne olduğunu bilmek (bir dosya olmayabilir, bu durumda sembolik bağlantı sallanıyordur).


1
Cevabınız harika.
Ta Thanh Dinh

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.