[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Размер удалённого файла в /proc



On Tue, Mar 08, 2011 at 02:24:32AM +0300, Dmitry E. Oboukhov wrote:
> On 18:41 Mon 07 Mar     , Murat D. Kadirov wrote:
> MDK> "Благородные" доны из Adobe убрали возможность тривиального сохранения
> MDK> флэшь-видео из /tmp/Flash* в последних версиях своего flash-plugin для
> MDK> обоих архитектур. Но есть возможность достать их из /proc/PID/fd/
> 
> MDK> К примеру:
> MDK> murat@gera[~]$ ls -l /proc/6027/fd/16
> MDK> lrwx------ 1 murat users 64 Мар  7 18:07 /proc/6027/fd/16 ->
> MDK> /tmp/FlashXXK4ftGs\ (deleted)
> MDK> murat@gera[~]$ ls -l /proc/6027/fd/17
> MDK> lrwx------ 1 murat users 64 Мар  7 18:07 /proc/6027/fd/17 ->
> MDK> /tmp/FlashXXVFevbj\ (deleted)
> 
> MDK> Как можно узнать размер этих файлов без предварительного копирования?
> 
> а если глянуть fdinfo/<id> там ничего нет подходящего?
> 
> а вообще можно на перле скриптик сваять нечто вроде:
> 
> 
> #!/usr/bin/perl
> 
> use warnings;
> use strict;
> use Fcntl qw(:seek);
> 
> open my $fh, '<:raw', "/proc/$ARGV[0]/fd/$ARGV[1]" or die "$!";
> 
> my @stat = stat $fh;
> print "$stat[7]\n";

Решение любопытное, но Иван верное подсказал с du -L. Я эту опцию даже
пробывать не стал в своё время, посчитав, что, если ссылка уже deleted,
то и смысла особого нету, ан нет, попробовать всё-таки стоило :)



-- 
Murat D. Kadirov
PGP fingerprint: 3081 EBFA 5CB9 BD24 4DB6  76EE 1B97 0A0E CEC0 6AA0


Reply to: