Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

sync и .bash_history

243
30 декабря 2004 года
pacific_7
1.9K / / 06.09.2004
Конечно всем хоть немного знающим *nix известна команда sync. В инфе про нее написано:

`sync' writes any data buffered in memory out to disk. This can
include (but is not limited to) modified superblocks, modified inodes,
and delayed reads and writes.

То бишь, все буферы с данными должны сбросится на диск.
Но все не так то просто: .bash_history, служащий понятно для чего по идее является самым обычным файлом и естественно буферируется как и все остальные. Так вот, не знаю, как остальные - не проверял, но при выполнении sync моя консолька, которая его создает, откровенно ложит на сброс буфера. Т. е. как была текущая история команд в оперативке (возможно свопе), так и осталась. Можно как нибудь с этим бороться?
З.Ы. Принципиального значения вопрос не имеет. Просто очень интересно!
З.Ы. З.Ы. В момент выполнения sync лампочка чтения/записи на системнике мигает, те хоть както, но он работает.
259
30 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by pacific_7
Конечно всем хоть немного знающим *nix известна команда sync. В инфе про нее написано:

`sync' writes any data buffered in memory out to disk. This can
include (but is not limited to) modified superblocks, modified inodes,
and delayed reads and writes.

То бишь, все буферы с данными должны сбросится на диск.
Но все не так то просто: .bash_history, служащий понятно для чего по идее является самым обычным файлом и естественно буферируется как и все остальные. Так вот, не знаю, как остальные - не проверял, но при выполнении sync моя консолька, которая его создает, откровенно ложит на сброс буфера. Т. е. как была текущая история команд в оперативке (возможно свопе), так и осталась. Можно как нибудь с этим бороться?
З.Ы. Принципиального значения вопрос не имеет. Просто очень интересно!
З.Ы. З.Ы. В момент выполнения sync лампочка чтения/записи на системнике мигает, те хоть както, но он работает.



Я не очень понял вопроса. sysn сбрасывает на диск буфера файлов - т.е. кэш (я думаю такая аналогия может быть). А причем здесь ОЗУ или СВОП ?

2
30 декабря 2004 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by AlexandrVSmirno

Я не очень понял вопроса. sysn сбрасывает на диск буфера файлов - т.е. кэш (я думаю такая аналогия может быть). А причем здесь ОЗУ или СВОП ?



sync сбрасывает на диск данные, кэшируемые в ОЗУ. man sync, info sync.

pacific_7
вас интересует, почему текущая история команд по выполнению sync не попадает в .bash_history? а потому, что .bash_history не меняется вообще, до завершения текущего сеанса работы с консолью. сделайте exit, а потом залогиньтесь снова :) и буфферизация тут не причем. временные файлы, где лежит history, сбросились на диск, я вас уверяю...

259
30 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by squirL


sync сбрасывает на диск данные, кэшируемые в ОЗУ. man sync, info sync.

pacific_7
вас интересует, почему текущая история команд по выполнению sync не попадает в .bash_history? а потому, что .bash_history не меняется вообще, до завершения текущего сеанса работы с консолью. сделайте exit, а потом залогиньтесь снова :) и буфферизация тут не причем. временные файлы, где лежит history, сбросились на диск, я вас уверяю...


Это понятно что кэширование идет в озу, но при сбросе кэша на диск, сами буфера в памяти не изменяются.

2
30 декабря 2004 года
squirL
5.6K / / 13.08.2003
что то я вас не понимаю...
Цитата:
Originally posted by AlexandrVSmirno

sysn сбрасывает на диск буфера файлов - т.е. кэш (я думаю такая аналогия может быть). А причем здесь ОЗУ или СВОП ?


а теперь:

Цитата:
Originally posted by AlexandrVSmirno

Это понятно что кэширование идет в озу, но при сбросе кэша на диск, сами буфера в памяти не изменяются.


ладно раз уже понятно, то замечательно. теперь обьясните, что вы понимаете под "буферами в памяти".

243
31 декабря 2004 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by squirL


sync сбрасывает на диск данные, кэшируемые в ОЗУ. man sync, info sync.


Про временные файлы я подозревал, и с login/logout штуку тоже сам заметил, только возмутило то, что непонятно, где консолька хранит эти временные файлы? Вдруг произошло отключение питания (UPS - для слабаков :)), а длинная история крайне необходимой мне последовательности команд не оказалась в hist - файле? И где их теперь искать? Очевидно, что на просторах /tmp... Кстати на консольку документация отсутсвует вообще - все концы в воду!
Наверно можно считать тему закрытой: опасения подтвердились - нарвался на недокументированные возможности Linux:).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог