The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > UNIX для чайников Вопросы И Ответы
.
Google unix.com



UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!!

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
"SED", чтобы проверить размер файла И эхо "" в пункт назначения файла jockey007 Shell программирование и сценарии 7 04-28-2009 03:08 AM
Как я могу заменить "(", "\" "+" в один файл mail2sant Shell программирование и сценарии 3 04-23-2008 12:10 AM
Разработка релиз: Linux 4.0 Beta Минт "Fluxbox", 4.0 Альфа "Debian" iBot UNIX и Linux RSS Новости 0 01-04-2008 03:00 PM
Объясните, в строке "mn_code \u003d` ENV | grep ".. МН" | AWK-F "\u003d" '(печатных $ 2)' `" Lokesha UNIX для чайников Вопросы И Ответы 4 12-20-2007 01:52 AM
Нет utpmx вход: вы должны EXEC "Логин" от низкого уровня "Shell" peterpan UNIX для чайников Вопросы И Ответы 0 01-18-2006 04:15 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 04-25-2007
Перси Percy is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2007
Сообщений: 14
"VI"-чивая постоянно обновляется файл

Привет,

Немного глупый вопрос. Извините людей.

Предположим, я этот файл, который обновляется на нерегулярные промежутки времени (несколько секунд, несколько минут, кто знает) на фоне процесса.

ЯVIЭто файл с целью его изменения, поэтому он открывает временный файл как обычный / tmp/720cwhatever

Теперь предположим, в то время как я открыл этот файл, его обновляется несколько раз в фоновом процессе.

Я делаю свои изменения, сохраните-выхода.

Что происходит с обновлениями, которые были сделаны в фоновом режиме во время я открыл этот файл?


Как смягчить это?
(к сожалению, остановить процесс фона это не вариант).


Этот файл также достаточно большой (около 40Mb), поэтому он принимает VI несколько секунд, чтобы загрузить его, чтобы спасти ее т.д. ....


Unix является KSH.
ОС SunOS.

Надежда вы, ребята, можете помочь! - Заранее спасибо!
Old 04-25-2007
sysgate's Avatar
sysgate sysgate is offline Forum Advisor  
Unix основанных
  
 

Регистрация: Nov 2006
Местонахождение: Болгария
Сообщений: 1323
Обновления выступил фоновый процесс не потеряли, то вопрос заключается в то, что происходит, когда вы собираетесь делать "Сохранить И бросить" - вам будет с сообщение о том, что исходный файл изменился: Вы хотите, чтобы сохранить в любом случае?
Другая вещь, когда кто-то пытается VI один и тот же файл открыт вас - он будет выдано сообщение:

Цитата:
E325: ВНИМАНИЕ
Найдено один файл подкачки с именем ". Temp.txt.swp"
принадлежат: sysgate от: Wed Apr 25 17:29:23 2007
Имя файла: ~ sysgate / temp.txt
Изменения: нет
Имя пользователя: sysgate имя: $ myhost
Процесс ID: 30240 (все еще работает)
При открытии файла "temp.txt"
от: Wed Apr 25 17:27:07 2007

(1) Еще одна программа может редактировать один и тот же файл.
Если это так, будьте осторожны: не покончить с двумя
различных случаев один и тот же файл при внесении изменений.
Выход, или продолжить с осторожностью.

(2) Изменить сессии этот файл разбился.
Если это так, то использование ": восстановить" или "ВИМ-R temp.txt"
восстановить изменения (см. ": поможет восстановление").
Если вы уже сделали это, удалить файл подкачки ". Temp.txt.swp"
Чтобы избежать этого сообщения.

Файл подкачки ". Temp.txt.swp" уже существует!
[O] пера "Только чтение", (E) DIT равно, (R) ecover, (Q) UIT, (А) борт:
но, я полагаю, вы имеете в виду больших файлов журналов, так что решение будет варьироваться в зависимости от того, что именно Вы хотите сделать.
Old 04-25-2007
Shell_Life's Avatar
Shell_Life Shell_Life is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2007
Место проведения: Байя, Бразилия
Сообщений: 695
Перси, а sysgate отметили, Ваше решение будет сильно зависеть от того, какие именно
Вы хотите обновить в этом файле.
Является ли это действительно необходимо "VI"Файл?
Может ли быть написана оболочка делать обновления вы хотите?
Old 04-25-2007
Перси Percy is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2007
Сообщений: 14
OK ура ребята!

Немного подробнее:

Что именно я хочу сделать это:

Это один большой файл, полные имена и хэш-код для каждого файла.
Каждая строка в файле
имя файла, дата, хэш-код
имя файла, дата, хэш-код
...

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

Если файл будет отправлено еще раз к серверу, его хэш-код проверяется, и если он существует (например, моя процесса занимается уже) она занимается файлов надлежащим образом.

Я прихожу unstuck, когда мне нужно обработать один и тот же файл еще раз - так я должен править большой лог файл и удалите запись (вся строка - название, дата, хэш-код), так что я могу кормить его через раз.


Написать SH для борьбы с этим? - Не уверен - его одним из тех, где это происходит часто, но не всегда достаточно, чтобы оправдать ш .... но его-то думаю, я мог смотреть в.


Другая вещь:

Предположим, два человека sudos для пользователя (того же пользователя), а затем редактирует файл - вы не получите сообщение о том, что файл меняющихся при сохранении / право выйти? - По крайней мере, в какой оно, как представляется, произошло здесь, в bizarro мир ...
Old 04-25-2007
Shell_Life's Avatar
Shell_Life Shell_Life is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2007
Место проведения: Байя, Бразилия
Сообщений: 695
Перси,
Вот один из возможных решений:
1) Переименовать "work_file" к "tmp_file" и незамедлительно создать
новых "work_file", с тем, что новые отчеты могут продолжать быть добавлены к нему.
Код:
mv  work_file  tmp_file
touch  work_file
2) "VI"THE" tmp_file ", и все изменения, которые Вы хотите.

2.a) После того как вы закончите с изменениями на "tmp_file",
не выйти еще.

2.B) Переход к концу этого "tmp_file" и в командной строке наберите:
Код:
:r work_file
Это будет читать "work_file" полностью, и поместить его после последней строке
от "tmp_file".

2.C) Напиши и выйти в "tmp_file".
Как вы говорите, этот файл является очень большим, если Вы попытаетесь сохранить рабочую область
как "work_file", это может занять много времени и использовать много памяти
и дисковое пространство.

3) сразу же переименовали "tmp_file" Перейти к "work_file".
Код:
mv  tmp_file  work_file
Смотрите, если это может работать на Вас.
Old 04-26-2007
Перси Percy is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2007
Сообщений: 14
Благодарю Вас за это.

Существует еще некоторое потенциальных пропавших дополнений в файл_журнала между шагами 2C и 3 - и главным образом из-за того, как быстро я могу типа "MV файл file2" - в панике, я, возможно, потратить больше времени, нажимая на возврат, чем на самом деле ввода команд правильно.

Ее явно лучше ловитель записей чем решение я имел в виду - так, благодаря очень много!
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 09:33 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0