日志文件监视器

2024-03-11

是否可以在另一个应用程序更新文件时打开文本文件并读取内容,这样就不会导致锁定冲突?

我需要监视一个应用程序的日志文件,每次发生事件时该日志文件都会由另一个应用程序更新。

在尝试读取文件之前,我会检查该文件是否正在使用,但这似乎并不在所有情况下都有效。

谢谢,彼得


这取决于第一个应用程序如何打开该文件。

即,当调用 CreateFile API 打开文件时,有 dwShareMode 参数告诉 api 如何打开它(如果给定 0,则无法从其他应用程序 IIRC 访问它)。 否则从该文件读取应该没有问题。 如果我没有记错的话,要检查该文件是否正在以只读方式打开,您可以调用 就像是

CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0) ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

日志文件监视器 的相关文章

随机推荐

  • 如何从 boost::python 返回 numpy.array?

    我想从 C 代码返回一些数据作为numpy array目的 我看了一下boost python numeric 但它的文档非常简洁 我可以举个例子吗返回一个 不是很大 vector
  • jquery 1.4.2 适用于 iCheckBox 而不是 jquery 1.6

    我在用this http brynmosher com jquery iCheckbox example htmlApple 的 jquery 插件 例如复选框按钮 然而 当我使用 jquery 版本 1 4 2 时 它工作得很好 但是当我
  • jQuery 事件按键:Enter 键

    我有一个包含值的组合框 我想让用户在Enter按下键 用户可以浏览Arrow key 当用户输入时选择值Enter key 我已经做了这个 cmb CIMtrek DailyshipCo CustomerName select bind k
  • KVO 很震撼。现在我如何异步使用它?

    我对 KVO 很感兴趣 但如果以明显的方式使用它是同步的 我想在以下情况下使用它 我快速连续地发出许多 KVO 消息 并且它导致我的应用程序在处理 KVO 消息时逐渐停止 有人可以建议一种方法 也许使用NSOperation or NSTh
  • statsmodel - 类型错误:fit() 得到了意外的关键字参数“disp”

    我正在使用 statsmodels 的 arima 模型进行一些预测 这曾经很好地与 model result model fit disp 1 但似乎 disp 似乎不再起作用 https github com biolab orange
  • 如何不断检查文件直至其存在,然后提供指向该文件的链接

    我正在使用 PHP 系统调用来调用 Java 程序 Java 程序需要一段时间才能运行 但最终会生成一个文件名已知的 PDF 文件 我需要继续检查该文件 直到它存在 然后提供指向它的链接 我假设将涉及 while 循环 但我不希望它占用太多
  • GetScriptReferences 没有被调用

    我编写了一个自定义控件 其中包含以下内容 assembly System Web UI WebResource InSysControls AssignmentLists AssignmentLists js text javascript
  • 为什么 OpenSSH RequestTTY 会导致 stderr 重定向到 stdout?

    当使用 T 和 t 运行相同的 ssh 命令时 任何 stderr 输出分别到达 stderr 和 stdout 没有分配 pty ssh T user host echo gt 2 foo 1 gt tmp out 2 gt tmp er
  • 救援_来自NoMethodError

    解决这个问题时遇到问题 试图做一个 rescue from NoMethodError with gt try some options 但它不起作用 编辑 为了测试我正在做一个简单的重定向 def try some options red
  • php 会话随机丢失,无法理解为什么

    我付钱给一个程序员制作一个购物篮脚本来与 Spreadshirt API 一起使用 一切都运转良好 只是篮子不断地变空 我认为会话在某个时刻丢失了 因此脚本创建了另一个会话BasketId 我试图找出发生这种情况是否有特定原因 但没有成功
  • 如何在notepad++中使用正则表达式修剪xml标签中的空格?

    我正在尝试修剪一个空间XML标签 这是我所拥有的示例
  • 移动网络性能:将数据从网络服务器传输到移动电话的最有效的数据类型是什么?

    Q 在 Web 服务器 其他 和手机 即 ios android 其他 之间传输数据时 哪种数据类型最有效 最快 JSON XML HTML Q 应该使用什么样的服务器端技术 php mysql Q 应该使用什么样的API 安息吗 RPC
  • 调用 around 方面时出现 AOP 异常

    我正在尝试在所有服务方法上运行一个方面 但这对于具有原始返回类型的方法似乎失败 我收到此错误 org springframework aop AopIn VocationException Null return value from su
  • 为什么 IE10 不显示嵌套的 CSS3 3D 转换元素?

    我在这里有点迷失 我目前正在测试 Windows 8 Release Preview 附带的 IE10 10 0 9200 16384 我遇到了非常困难的时间 困扰我的事情之一是 IE 似乎无法正确处理嵌套 3D 变换 请看这个小提琴 ht
  • Sitecore 插入规则以确保最多 (1) 个特定类型的子级

    sitecore 中有没有办法确保某种类型的项目只能有某种类型项目的 1 个子项 我正在阅读规则引擎食谱 但我没有得到太多细节 我工作过的一个网站要求特定项目类型下不能存在超过 6 个子项目 我们考虑过使用插入选项规则 但决定放弃这个想法
  • Spring可以在抽象类中自动装配吗?

    Spring 无法自动装配我的对象 是否可以在抽象类中自动装配对象 假设所有模式都在 application context xml 中提供 问题 基类和扩展类 如果有 Service Component 上应该使用什么注释 Example
  • Azure 存储 403 禁止异常是 32 位问题吗?

    我们花了相当多的时间来定位出现以下异常的原因 The remote server returned an error 403 Forbidden 堆栈跟踪 at Microsoft WindowsAzure Storage Core Exe
  • PC 客户端上的 C# Crystal Report 总是要求登录提示 SQL Server

    创建setup我的程序 程序运行良好 可以增删改查数据库 当我打开报告时 总是出现登录提示的问题 但在数据库字段中为空禁用 在服务器计算机上 报告没有问题 在我建立连接的代码中 像这样 cnn ServerName 179 15 30 74
  • map() get() 混淆

    我刚刚浏览了 jQuery API 我有点困惑map get 方法 我知道我错了但是map 方法看起来很像 each 陈述 除了文档说它返回一个新的 jQuery 对象 我一直在 jsfiddle 上玩这个 试图弄清楚它 但我还不太明白 h
  • 日志文件监视器

    是否可以在另一个应用程序更新文件时打开文本文件并读取内容 这样就不会导致锁定冲突 我需要监视一个应用程序的日志文件 每次发生事件时该日志文件都会由另一个应用程序更新 在尝试读取文件之前 我会检查该文件是否正在使用 但这似乎并不在所有情况下都