问题标签 [inotifywait]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
776 浏览

python - 使用 asyncio.Queue 将数据从子进程安全地传递到异步任务

我在 Amazon Linux EC2 实例中有一个目录结构。我希望有一个 Python 脚本异步监视此目录(和所有子目录)以创建文件。

我决定在子进程中运行 inotifywait 并将输出传递给异步任务进行处理。我运行子进程并在其自己的线程中监视输出,并将标准输出传递给asyncio.Queue()using put_nowait(),由在主线程上运行的 asyncio 任务监视。

有没有更好、性能/资源效率更高的方法来做到这一点?这甚至是安全的用法asyncio.Queue()吗?我已经阅读了有关janus的内容,它将自己描述为通过同步和异步上下文之间的队列传递数据的安全方式。我是否需要使用这样的数据结构(为什么)?如果不需要,我不想包含额外的依赖项。

0 投票
1 回答
99 浏览

linux - 如何使用 inotifywait 监视带有时间和文件的目录?

我需要监听一个目录,如果在这个目录中创建了一个文件并且它可以工作,我可以监听

但是,如果未创建此文件,我需要在 12:00 和 19:00(19:00)发送电子邮件,我需要终止该进程。

那么,如何使用 inotifywait 监控文件和系统时间?我尝试在while中使用双重条件,但不起作用

0 投票
1 回答
505 浏览

bash - 为什么 inotifywait 在对它正在观看的文件进行 git checkout 后停止工作?

我在inotifywait文件目录上运行:

这在我运行之前运行良好git checkout [some existing branch name]。之后,inotifywait停止响应git签出分支时更新的文件(即停止响应两个分支之间不同的文件)。

为什么inotifywait停止响应这些文件?有没有办法让它重新查看这些文件?

0 投票
2 回答
226 浏览

ubuntu-14.04 - inotifywait 偷偷消耗大量内存

在 Ubuntu 14.04 上:

计算机重新启动后,我消耗了 1GB 的 RAM。20-30 分钟后(只打开了 1 个终端),我使用了 6GB RAM并且还在增长,但是似乎没有一个进程使用这么多内存(根据htoptop)。当我杀死inotifywait进程内存没有被释放但停止增长。然后我重新启动了 PC,立即杀死了 inotifywait,内存使用量停止在 1GB。

我有2个硬盘,一个是1TB,第二个是2TB。是否inotifywait以某种方式缓存了这些,或者通常它导致这种行为是否正常?

0 投票
1 回答
136 浏览

node.js - 在目录上使用 fs.watch 似乎不会注意到添加的文件

当我在目录上使用 fs.watch 时: https ://nodejs.org/docs/latest/api/fs.html#fs_fs_watch_filename_options_listener

在调用 fs.watch 后,它不会注意到添加到目录中的新文件。我在 Linux 上 - 我需要进行一些调用以通知新添加/删除的文件吗?

返回对象 FSWatcher 上的唯一事件是“更改”、“错误”和“关闭”——文件有“添加”或“删除”。

0 投票
0 回答
57 浏览

bash - inotifywait:第一个文件上传到服务器后等待一段时间

当新文件上传到服务器时,我有一个脚本正在发送带有目录树的电子邮件:

但通常会上传多个文件,并且每个新文件都会收到邮件。如何使电子邮件只发送一次,例如,在第一个文件上传后 2 分钟?

0 投票
1 回答
42 浏览

git - 获取跟踪文件的 git repo 路径的最有效方法

我正在使用 inotifywait 观看任意文件夹。当文件更改时,我想确定哪个 git repo(如果有)与该文件相关。

我看到了这个答案: 如何判断文件是否被 git 跟踪(通过 shell 退出代码)?

这里的区别是——我真的不在乎 git 是否在跟踪文件,我只想知道——如果 git要跟踪那个文件,它用于哪个 git 现有的 git repo。那是我的问题。

最好的方法是简单地做到这一点:

? 是这样吗?该git rev-parse --show-toplevel命令会始终为该文件提供相关的回购吗?

0 投票
0 回答
30 浏览

bash - 从文件中获取变量到另一个文件

如果有人可以提供帮助,我想从 inotifywait 中获取“file”、“dir”和“action”变量并将它们放入“script.sh”以便以后使用它们:

提前致谢

0 投票
1 回答
128 浏览

zsh - 在 shell 函数中睡眠 inotifywait 不起作用

我正在尝试运行以下功能

直到 inotifywait 它运行正常;我懂了:

但是,一旦我创建了一个文件,我就会得到

知道为什么吗?另外,我是否需要在 inotifywait 周围生成子进程()?有什么好处?

谢谢你。

编辑 我意识到我在 zsh 上运行

0 投票
1 回答
341 浏览

linux - 根据文件名上的 grep 获取到最新文件的自动更新符号链接

因此,稍微调整一下这个 SO 答案非常接近解决方案:

但是当目录中出现新文件时,我如何才能真正持续更新符号链接?

这可以通过使用存档inotifywait吗?我怎么能在我的系统上安装这样一个在后台处理的作业?