LINUX.ORG.RU
ФорумAdmin

lsof & cp


0

0

myfile удалён, но открыт (less например)
cp /proc/4158/fd/4 myfile.saved
копируется ссылка на удаленный файл, а не файл. Какие вообще варианты тут существуют?

sergey@athlon:~$ echo qwerty >/tmp/a
sergey@athlon:~$ tail -f /tmp/a >/dev/null &
[1] 31489
sergey@athlon:~$ rm /tmp/a
sergey@athlon:~$ ls -al /proc/31489/fd/
итого 4
dr-x------ 2 sergey users  0 2007-09-14 14:58 .
dr-xr-xr-x 4 sergey users  0 2007-09-14 14:58 ..
lrwx------ 1 sergey users 64 2007-09-14 14:58 0 -> /dev/pts/1
l-wx------ 1 sergey users 64 2007-09-14 14:58 1 -> /dev/null
lrwx------ 1 sergey users 64 2007-09-14 14:58 2 -> /dev/pts/1
lr-x------ 1 sergey users 64 2007-09-14 14:58 3 -> (deleted) /tmp/a
sergey@athlon:~$ cp /proc/31489/fd/3 /tmp/b 
sergey@athlon:~$ ls -al /tmp/b
-rw-r--r-- 1 sergey users 7 2007-09-14 14:58 /tmp/b
sergey@athlon:~$ cat /tmp/b 
qwerty
sergey@athlon:~$

Ну и где тут ссылка?

Teak ★★★★★
()
Ответ на: комментарий от Teak

> Ну и где тут ссылка?
так я и сам удивился, видимо это вопрос версии ср, но на сусе 10 и сентос 5 у меня ср копирует ссылку, если не указать -L. Вот такая странность.

sa22
() автор топика
Ответ на: комментарий от Teak

/* Ага, в зависимости от расположения звёзд. :) */
в коментариях кода cp и ядра :)

sa22
() автор топика

а если сказать просто

cat /proc/4158/fd/4 > myfile.saved

В Linux часто бывает более одного решения.

annoynimous ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.