Я просто прыгаю в Unix из другого мира, и хотел знать, если
while true
do
/someperlscript.pl
done
В самом скрипте perl есть средство просмотра папок / файлов, которое выполняется при изменении файлов в целевом местоположении.
Это while true
хорошая идея? Если нет, то какой предпочтительный надежный подход?
ТИА
РЕДАКТИРОВАТЬ: так как это, кажется, вызвало немало интереса, вот полный сценарий. Сценарий perl сам просматривает каталог с помощью средства просмотра файлов. Получив новые файлы (они поступают через rsync), он выбирает новый и обрабатывает его. Теперь входящие файлы могут быть повреждены (не спрашивайте ... поступающие от Raspberry Pi), и иногда процесс может не справиться с этим. Я не знаю точно, почему, потому что мы еще не знаем всех сценариев.
НО - если процесс по какой-то причине завершается неудачно, мы хотим, чтобы он был запущен и работал со следующим файлом, потому что следующий файл полностью не связан с предыдущим, что могло вызвать ошибку.
Обычно я бы использовал какой-то вид перехвата всех и обернул весь код так, чтобы он НИКОГДА не падал. Но не был уверен в Perl.
Из того, что я понял, использование чего-то вроде супервизора является хорошим подходом для этого.
inotify
API, чтобы избежать циклов занятости, ожидающих изменения файлов в вашей целевой директории.