Я просто стрибаю в unix з іншого світу і хотів дізнатися, чи є
while true
do
/someperlscript.pl
done
Сам скрипт perl внутрішньо має дисертацію папок / файлів, яка виконується при зміні файлів у цільовому місці.
Це ( while true
) гарна ідея? Якщо ні, то який переважний надійний підхід?
ТІА
EDIT: Оскільки, схоже, це викликало неабиякий інтерес, ось повний сценарій. Сам скрипт perl переглядає каталог, використовуючи інструмент для перегляду файлів. Отримавши нові файли (вони надходять через rsync), він підбирає новий та обробляє його. Тепер вхідні файли можуть бути пошкодженими (не вимагайте .., що надходять з малинового пі), і іноді процес може не впоратися з цим. Я точно не знаю чому, тому що ми ще не в курсі всіх сценаріїв.
АЛЕ - якщо процес з якоїсь причини виходить з ладу, ми хочемо, щоб він був запущений і працював із наступним файлом, оскільки наступний файл абсолютно не пов'язаний з попереднім, що, можливо, спричинило помилку.
Зазвичай я б використав якийсь вилов усіх і обернув весь код навколо нього, щоб він НІКОЛИ не збоїв. Але не був впевнений у перл.
З того, що я зрозумів, використовувати щось на кшталт нагляду - це хороший підхід для цього.
inotify
API, щоб уникнути напруженого циклу, який очікує змін файлів у вашому цільовому каталозі.