当特定文件夹为空时运行命令

当特定文件夹为空时运行命令

我正在运行一个 python 脚本,它将循环遍历文件夹文件(做一些工作然后删除那里的文件),该文件夹最终将被清空。

我想在文件夹达到 0 个文件时运行此命令

nohup python3 create_images.py > my_log.txt&

我一直在用这个命令来跟踪进程

ls -al images|wc -l

是否可以自动监控文件数量然后直接运行我的命令?

答案1

这并不能 100% 回答你的问题,但是...

有一个名为inotifywait( sudo apt-get install inotify-tools) 的实用程序,它允许您监听给定文件或目录上的事件。在默认模式下,它会监听给定文件或目录上的事件,并在某些内容被更改/读取/删除/等时退出。一定要检查man inotifywait所有选项。

inotifywait在一些脚本的循环中使用:

  1. inotifywait <your dir>
  2. 检查目录是否为空,如果为空则运行命令
  3. 返回 1。

我认为让它 100% 准确地工作是相当棘手的,因为竞争条件有可能从步骤 3 转到步骤 1。但我想我还是会发布这个,因为它可能适合你的情况。

相关内容