如何在osx上实现linux的inotify-tools shell方法

2023-11-23

要监视Linux中的文件,我可以使用inotify-tools,如下所示

#!/bin/bash

# with inotify-tools installed, watch for modification of file passed as first param
while inotifywait -e modify $1; do
        # do something here
done

但我如何在 OSX 中实现这一点呢?


如果您想将其包装到 Python 脚本中,可以使用 Watchdog,它适用于 Linux 和 OSX。

https://pypi.python.org/pypi/watchdog

下面是将 pyinotify 替换为 watchdog 的样子:

https://github.com/raphdg/baboon/commit/2c115da63dac16d0fbdc9b45067d0ab0960143ed

Watchdog 还有一个名为的 shell 实用程序watchmedo:

watchmedo shell-command \
    --patterns="*.py;*.txt" \
    --recursive \
    --command='echo "${watch_src_path}"' \
    .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在osx上实现linux的inotify-tools shell方法 的相关文章

  • 为什么 Mac OS 上的 C 运行时允许预组合和分解的 UTF-8?

    所以我们都知道 Mac OS 上的文件系统具有使用完全分解的 UTF 8 的古怪功能 如果您调用 POSIX API 例如realpath 例如 您将从 Mac OS 返回这样一个完全分解的 UTF 8 字符串 当使用像这样的 API 时f
  • 在 OSX 和 GNU 中使用“find”删除带有数字的文件名

    我正在尝试搜索一个文件并删除名称中包含数字的类似文件 我的文件 txt from myfile 00 04 version txt myfile 00 txt find E iregex myfile 0 9 1 txt 删除 myfile
  • c# - 如何列出硬盘上的所有文件和文件夹?

    我想列出我的程序有权访问的所有文件和文件夹并将它们写入文本文件 我如何获得该列表 我需要一种方法来捕获或不对不可访问的文件夹抛出 UnauthorizedAccessExceptions 请尝试使用代码 private static IEn
  • Docker 容器 - 如何配置使其在 vagrant 中运行时获得可行的 IP 地址?

    Docker www docker io 看起来棒极了 然而 安装 VirtualBox 后 Vagrant 最后是 Mac 上的 Docker 我发现无法从另一台计算机 或从 Mac 上的终端会话 访问 Docker 容器中运行的服务 我
  • 使用 Cocoa/OSX 合并/堆叠两个图像

    我有一个 CGImageRef 我们称之为原始图像 和一个透明 png 水印 我正在尝试编写一种方法将水印放置在原始内容之上 并返回 CGImageRef 在 iOS 中 我会使用 UIKit 将它们绘制到上下文中 但这在 OSX 中似乎不
  • 如果加载 dylib,垃圾收集工作队列会崩溃

    我们正在将应用程序从 10 6 移植到 10 8 我正在查看我们在应用程序中加载的 dylib 我面临着非常不寻常的崩溃垃圾收集工作队列并附有以下消息 malloc Thread suspend unable to suspend a th
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • 从 Java 执行 .app 文件夹?

    有没有一种合理的方法可以直接从 Java 执行 app 目录 而不是深入查找二进制文件 我有一个带有一些首选项的应用程序 其中包括用于打开各种内容的外部程序 如果在 OSX 上用户可以只选择 app 文件夹 那就太好了 我可以查找 app
  • 为什么 struct tm 中的 tm_year 成员相对于 1900 而不是 macOS 上 C 中的 1970?

    当我遇到这个问题时 我正在尝试专家 C 编程中的示例 我的程序基本上做一件事 使用标准gmtime运行一下 看看自 1970 年以来已经过去了多少年 这是我的程序 include
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 从文本文件 PHP 读取数据

    我只是想知道如何在 php 中读取文本文件 我想让它显示文本文件中的最后 200 个条目 每个条目都在一个新行上 Like John White Jane Does John Does Someones Name 等等 Thanks Use
  • java setFullScreenWindow 在 Mac 中隐藏登录对话框

    我使用的是全屏窗口 类似于屏幕保护程序 使用这里的方法 GraphicsEnvironment getLocalGraphicsEnvironment getDefaultScreenDevice setFullScreenWindow t
  • PHP 文件上传帮助

    div align center div 这是我的代码
  • 导入 matplotlib.pyplot 时出错

    当我跑步时import matplotlib pyplot as plt 我收到以下错误消息 ImportError Traceback most recent call last
  • 如何根据扩展名获取文件类型信息? (不是 MIME)在 c# 中

    如何获取基于扩展名的一般文件类型描述 如资源管理器 所以不是 MIME 而是最终用户看到的信息 doc Microsoft Office Word 97 2003 文档 zip ZIP 文件 avi 视频文件 我怎样才能获得似乎可用的 辅助
  • 将 Dropzone.js 与其他表单字段集成到 html 表单中

    我想将 dropzone js 添加到具有其他元素的表单中 我找到了这个示例并按照说明进行操作 不幸的是整个变成了 dropzone js dropzone https github com enyo dropzone wiki Combi
  • 使用python将json和文件发送到flask

    我遇到这个问题 我试图在单个函数中向 Flask API 发送 接收一些文件和 JSON 在我的客户端 发件人 上我有 my json to be sent datas var1 var1 var2 var2 my file to be s
  • 如何使用 Oracle 移动文本文件

    我有两个问题 1 如何从文件夹中移动文本文件 C Data inbox test txt 目标文件夹 C Data outbox test txt 2 如何获取文件夹中的目录文件列表 C Data inbox 谢谢 Oracle 提供了一个
  • emacs 是否有类似 vims 的 NERDtree 之类的东西

    对于 vim 有一个名为 NERDtree 的文件系统浏览器 https github com scrooloose nerdtree https github com scrooloose nerdtree Emacs 确实存在替代或更好
  • 监听文件夹和文件(更改)

    可以直接在 PHP 或 Node 上监听文件夹和文件的更改 通过事件 还是我需要创建自己的方法来执行此操作 Example 我需要听文件夹 user 如果我将一些文件添加到该目录中 PHP 或 Node 会收到信息并运行PathEvent

随机推荐

  • 地图聚类 - 最大缩放标记仍然聚类

    我正在使用 android 地图 utils 对 google 地图 api v2 上的标记进行聚类 它工作得很好 但是当我添加 2000 多个标记时 在最大缩放下它仍然聚集在一起 标记仍然有数字 这是我用标记填充地图的方法 public
  • 如何获取方法参数的名称?

    如果我有一个方法 例如 public void MyMethod int arg1 string arg2 我将如何获取参数的实际名称 我似乎在 MethodInfo 中找不到任何可以实际提供参数名称的内容 我想写一个如下所示的方法 pub
  • 未找到 GLIBC_2.33 - 在为 Linux 构建 Flutter 时

    我试图在 Ubuntu 22 04 LTS 上运行 flutter 应用程序 一切都工作正常 但是 今天运行应用程序时出现了这个问题 Flutter SDK 无法构建应用程序并抛出以下错误 snap flutter 130 usr lib
  • 09 未被识别,而 9 被识别[重复]

    这个问题在这里已经有答案了 我正在使用石英进行调度 TriggerUtils getDateOf 0 40 18 09 06 它接受 5 个参数 秒 分钟 小时 月份 月份 当我将第四个参数传递为 09 时 Eclipse 给我错误 int
  • 如何在 MS SQL 存储函数中将日期时间转换为时间戳

    有一个从表更新触发器调用的存储函数 像这样的SM FUNCTION dbo DateTime2ToBigInt dt DATETIME2 7 RETURNS BIGINT 需要将输入日期时间转换为 unix 时间戳 Tried CONVER
  • 如何为匿名对象的属性设置值?

    这是我的代码 例如 var output new NetSessionId string Empty foreach var property in output GetType GetProperties property SetValu
  • 使用正则表达式验证 IPv4 地址

    我一直在尝试获得一个有效的正则表达式来进行 IPv4 验证 但运气不佳 似乎有一次我已经受够了 25 0 5 2 0 4 0 9 01 0 9 0 9 4 但它会产生一些奇怪的结果 grep version grep GNU grep 2
  • 如何为 FFI 创建一个包含可为空函数指针的结构?

    我有一个现有的 C 程序 可以加载共享库插件 主 C 程序通过包含整数 字符串 函数指针等的 C 结构与这些插件交互 如何从 Rust 创建这样的插件 请注意 真正的 C 程序不能更改 API 也不能更改 这些都是固定的 现有的东西 所以这
  • Matplotlib 用线连接散点图点 - Python

    我有两个列表 日期和值 我想使用 matplotlib 绘制它们 下面创建了我的数据的散点图 import matplotlib pyplot as plt plt scatter dates values plt show plt plo
  • 应用程序性能的基线和基准之间的差异

    什么是基线 什么是基准 这些的最佳定义是什么 如何确定一组数字的基准并对另一组数字进行基准测试 有趣的定义来自SPR 软件生产力研究 基线和基准是相似但不同的活动 形象地说 基线是 沙子里的线 对于一个组织来说 它可以衡量重要的绩效特征以供
  • 带注释的 Hibernate 字符串主键

    我正在尝试创建一个带有主键是字符串的注释的权限类 我将在插入时手动分配它们 因此不需要 hibernate 为其生成值 我正在尝试做类似的事情 Id GeneratedValue generator assigned Column name
  • 如何一起使用 NSUbiquitousKeyValueStore 和 NSUserDefaults

    文档不清楚如何使用NSUbiquitousKeyValueStore与边缘情况 如果我想设置一个值 我知道我应该为两者都设置一个值NSUserDefaults and NSUbiquitousKeyValueStore因为 iCloud 可
  • 获取任意长度的列表元素的所有可能 (2^N) 组合

    我有一个包含 15 个数字的列表 如何生成这些数字的所有 32 768 种组合 即 按原始顺序排列任意数量的元素 我想到循环遍历十进制整数 1 32768 并使用每个数字的二进制表示形式作为过滤器来挑选适当的列表元素 有更好的方法吗 For
  • Application Insight Analytics - 查询客户端浏览器和设备

    有人知道如何查询 Azure App Insight 以获取客户端设备上的分析吗 或操作系统 我似乎能够获得有关客户国家 地区的良好统计数据 但无法获得设备的统计数据 你应该用过client CountryOrRegion在您现有的查询中
  • Android:RadioGroup - 如何配置事件监听器

    根据我的理解 要确定一个复选框是否被 单击 并确定它是否被选中 可以使用如下代码 cb CheckBox findViewById R id chkBox1 cb setOnCheckedChangeListener this public
  • 删除 kotlin 中的“this”回调

    我是一个 kotlin 新手 我正在尝试删除回调本身内的回调实例 我想要实现的目标类似于以下代码 private val myCallback SomeInterfaceType if it something someObject rem
  • Socket.io 与 nginx

    我正在尝试通过 nginx 1 6 提供静态文件 并使用 socket io 代理来自 Node js Web 服务器的套接字流量 这是 nginx conf 的相关部分 location socket io proxy pass http
  • 使 flatpickr 输入成为必需

    我正在使用令人惊奇的平面选取器在一个项目上 并且需要日历日期是强制性的 我试图在本机 HTML 中进行所有验证 因此我天真地尝试仅添加required属性到输入标签 但这似乎不起作用 有没有一种方法可以使 flatpickr 本身强制指定日
  • erlang:UNIX 域套接字支持吗?

    有没有办法直接从 Erlang 访问 UNIX 域套接字 例如 var run dbus system bus socket without求助于第三方驱动程序 Erlang OTP 仅附带用于 tcp 和 udp 套接字的驱动程序 所以
  • 如何在osx上实现linux的inotify-tools shell方法

    要监视Linux中的文件 我可以使用inotify tools 如下所示 bin bash with inotify tools installed watch for modification of file passed as firs