запустить команду, когда конкретная папка пуста

У меня запущен скрипт python, который будет перебирать файлы папки (поработайте, а затем удалите там файлы), папка в конечном итоге станет пустой.

I хочу запустить эту команду, когда в папке окажется 0 файлов

nohup python3 create_images.py > my_log.txt&

Я использовал эту команду для отслеживания процесса

ls -al images|wc -l

можно ли автоматически отслеживать количество файлов и запускать мою команду напрямую?

0
задан 14 August 2020 в 20:42

1 ответ

Это не стопроцентный ответ на ваш вопрос, но ...

Существует утилита под названием inotifywait ( sudo apt-get install inotify -tools ), который позволяет вам отслеживать события в заданных файлах или каталогах. В режиме по умолчанию он прослушивает события в заданном файле или каталоге и завершает работу, когда что-то изменено / прочитано / удалено / и т. Д. Обязательно проверьте man inotifywait для всех параметров.

Я использую inotifywait в некоторых моих сценариях внутри цикла:

  1. inotifywait
  2. Проверьте, пуст ли каталог, и выполните команду, если
  3. вернется к 1.

Я думаю, что заставить это работать со 100% точностью довольно сложно, так как есть вероятность, что условия гонки переходят от шага 3 к 1. Но я думал, что все равно опубликую это,

1
ответ дан 21 August 2020 в 07:59

Другие вопросы по тегам:

Похожие вопросы: