The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"чтение во время записи...."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"чтение во время записи...."  
Сообщение от sergeyfromkomi email(ok) on 24-Июл-08, 11:23 
1.    На машине с Win и ActivePerl 5.8 запущен на бесконечное выполнение скрипт. Каждые 10 сек. он (скрипт) добавляет в некий файл по строчке, событие “ close()” не наступает никогда, и если я понимаю суть этого процесса правильно, то этот файл  не доступен для других процессов. Могу ли я в это время  из другого скрипта обратиться к этому  файлу для чтения всех его строк и дальнейшей их  обработки (записывать в него мне не нужно), но так чтобы не останавливать первый скрипт в ручную. Если нет, то как из второго скрипта сначала остановить, а затем запустить (программно) первый скрипт?
2.    есть ли команда в Perl-e для отчистки экрана по примеру команды CLS в Pascal-e?
3.    Как на машине с Win и ActivePerl 5.8  выполнение скрипта превратить в процесс?
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "чтение во время записи...."  
Сообщение от phpcoder email(??) on 24-Июл-08, 11:29 
>1. На машине с Win и ActivePerl 5.8 запущен на бесконечное выполнение
>скрипт. Каждые 10 сек. он (скрипт) добавляет в некий файл по
>строчке, событие “ close()” не наступает никогда, и если я понимаю
>суть этого процесса правильно, то этот файл  не доступен для
>других процессов.

Файл доступен для других процессов, даже несмотря на то, что close() вы не сделали.

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

Можете. Попробуйте и сами узнаете :)

>Если нет, то как из второго скрипта сначала остановить, а затем запустить (программно)
>первый скрипт?

Блокировать файл при записи нужно, а после снимать блокировку. А во втором, который читает, проверять заблокирован ли файл, если да, то подождать и снова проверить, если нет, то читать. (Вот, правда, не знаю реализованы ли в винде блокировки файла и как, в Юниксе такое есть.)

>2. есть ли команда в Perl-e для отчистки экрана по примеру команды
>CLS в Pascal-e?

Нет. Но можно запустить системную команду.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "чтение во время записи...."  
Сообщение от sergeyfromkomi email(ok) on 24-Июл-08, 14:40 
Спасибо phpcoder-у !!!


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "чтение во время записи...."  
Сообщение от angra (ok) on 24-Июл-08, 16:19 
1. Почитайте описание flock, обратите внимание что они advisory, а не mandatory. То есть работают только если все процессы обращающиеся к файлу их используют. Если процесс их не использует, то может творить все что угодно(в винде кроме удаления)
>2. есть ли команда в Perl-e для отчистки экрана по примеру команды
>CLS в Pascal-e?

Посмотрите модули Term, я не помню какие из них есть в ActivePerl. Также возможно что-то найдется в Win модулях.
>3. Как на машине с Win и ActivePerl 5.8  выполнение скрипта
>превратить в процесс?

А чем он по вашему является? Или вы имели ввиду в service?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "чтение во время записи...."  
Сообщение от Sergey email(??) on 25-Июл-08, 09:15 

>А чем он по вашему является? Или вы имели ввиду в service?

т.е. убрать из видимости консоль (у меня win) хотябы в трэй свернуть...


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру