我正在运行一个 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
在一些脚本的循环中使用:
inotifywait <your dir>
- 检查目录是否为空,如果为空则运行命令
- 返回 1。
我认为让它 100% 准确地工作是相当棘手的,因为竞争条件有可能从步骤 3 转到步骤 1。但我想我还是会发布这个,因为它可能适合你的情况。