LINUX.ORG.RU
ФорумTalks

о ФС


0

0

Вопрос :
Кто-нибудь может объяснить почему в win нельзя удалить файл когда
он открыт программой? Это зделанно специально или это особенности
ФС или это глюки/костыли или...

Дабы не сочли за офф - почему этого явления нет в Linux-e
anonymous

Возможно потому, это из-за буферной записи в файл - изменения сохраняються не напрямую в файл, а в какой-то буфер, который при закрытиии потока ввода/вывода выбрасывается в файл. Видимо, винда хранит список обращений к файлу и если он открыт каким-либо приложением - срабатывает "защита от дурака".

shuthdar ★★★
()

т.е. в linux-e запись в файлы происходит както иначе?
я думал sync сбрасывает буфер на hd.
поправь, если я не прав.


anonymous
()
Ответ на: комментарий от shuthdar

Выдержка из :
            man sync

SYNC(1)                          User Commands                         SYNC(1)

NAME
       sync - flush filesystem buffers

SYNOPSIS
       sync [OPTION]

DESCRIPTION
       Force changed blocks to disk, update the super block
..........
..........
..........

anonymous
()
Ответ на: комментарий от Ekonomist

>А зачем оно тебе надо, удалять открытый файл?

Как зачем? Чтобы не лазить в Task Manager и не убивать все процессы подряд, пока до нужного не доберёшься.

mikhail
()
Ответ на: комментарий от Ekonomist

Ну... апгрейд там на лету каких-то библиотек, бинарей, например... Мало ли что.

IMNSHO
()

Вообще-то если ты удалишь в линухе открытый файл, то реально он нифига не удалится, открывший его процесс продолжит с ним работу. Удаление произойдёт только после того, как все работающие с ним процессы закроют его или перемрут нафиг (что тоже приводит к закрытию).

Странно, что никто тут этого не знает.

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

>Вообще-то если ты удалишь в линухе открытый файл, то реально он нифига не удалится, открывший его процесс продолжит с ним работу. Удаление произойдёт только после того, как все работающие с ним процессы закроют его или перемрут нафиг (что тоже приводит к закрытию).

>Странно, что никто тут этого не знает.

Это все знают. Освободить место можно, набрав ">file;rm file". Речь о том, что нельзя удалить каталог сразу, а надо убить наугад несколько процессов и повторить попытку.

Нельзя смотреть фильм, пока он качается (например, из P2P).

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

Но для других процессов он будет удаленным.

В винде это часто бывает надо для того, чтобы снести вирус не особенно заморачиваясь.

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

Не, я к тому что удаляя открытый файл ты его на самом деле ни там ни там не удалишь. Только в винде тебе это дело явно запретят, а в юнихах отложат удаление до лучших времён.

И вообще проблема не в этом, а в том что в винде fuser'а нет :)

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

2mikhail (*) (07.07.2005 17:48:26)
>Это все знают. Освободить место можно, набрав ">file;rm file". Речь о том, что нельзя удалить каталог сразу, а надо убить наугад несколько процессов и повторить попытку.
Наугад? А, ну да, этож таскманагер, толи дело lsof /dirname/filename :-)

anonymous
()
Ответ на: комментарий от mikhail

>> Речь о том, что нельзя удалить каталог сразу, а надо убить наугад несколько процессов и повторить попытку.

Открой для себя волшебный мир виндовой консоли! openfiles /?

Иногда помогает удаление в корзину, а потом её очистка.

Energizer
()
Ответ на: комментарий от mikhail

> Чтобы не лазить в Task Manager и не убивать все процессы подряд, пока до нужного не доберёшься.

Это в виндах не всегда помогает.

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

Браво, господа!
А кто скажет иначе?
Так ведь винда всегда с диском плохо работала.
А линукс всегда хорошо.
Разве что в последних 2.6.х были проблемки с интеловскими чипсетами..
Если правда это уже не пофиксили
Йопт, да пофиксили наверное уже:)
Когда в винде тормоза с диском постоянные.
И пусть не твердят про многопоточность
Нтфс! пусть и так, зато она тормозная.

Зато ехт3 и рейзер её уделают раз в два присеста
А тем кто не согласен - малчать!
Думайте что хотите, но то, как
Реализована работа с файлами в линуксе мне
Очень нравится.
Так что вот.
!:):)

anonymous
()
Ответ на: комментарий от Energizer

>Открой для себя волшебный мир виндовой консоли!
В бобруйск животное !

anonymous
()
Ответ на: комментарий от K48

Вообще, "творчество" подобного рода один из старейших видов баянного жанра. С ходу не нашел гуглом, но когда-то читал очень трогательное любовное стихотворение посвященое кем-то любимой девушке, так вот в этом стихотворении первые буквы строчек образовывали фразу "Пошла на %Yй" :).

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

>openfiles /?

"openfiles" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

(c) Windows 2000 Server (build 2195, ServicePack 3)

Dominus
()

Вранье, можно удалить. Открой LA файл, проиграй, еще раз открой диалог открытия файла в LA, но вместо открытия удали файл. Вернись в LA, удаленный файл по прежнему можно проиграть :)

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

А как? Как открыть мир виндовой консоли для себя? Когда в справке по командам командной строки нет ничего толкового?

Ekonomist
()
Ответ на: комментарий от anonymous

>очень трогательное любовное стихотворение посвященое кем-то любимой девушке, так вот в этом стихотворении первые буквы строчек образовывали фразу "Пошла на %Yй" :).
>Йод, Йошкар-Ола (alias Бобруйск?) ...
то есть последняя строчка:
Йод сердца моего, летим в Йошкар-Олу (в Бобруйск) :-)

anonymous
()
Ответ на: комментарий от Ekonomist

>>А как? Как открыть мир виндовой консоли для себя? Когда в справке по командам командной строки нет ничего толкового?

А вы ходили, читали виндовую справку по консольным командам?

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

лучше через remote desktop

встроенные средства администрирования рулят

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

Пытался, но не смог ее найти. В интернете и то побольше можно найти. Внутри каталога с виндовсом тоже можно найти полезные вещи, но какое-то все странное. В ДОСе лучше было.

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