标签: file-monitoring

是否有一个复杂的Java文件系统监视器,它是免费软件还是开源软件?

我正在寻找一个可以通知我文件系统更改的Java库.

我发现了一些免费的库,但它们都使用强力检测,即定期轮询.而其他的总是商业化的.

我正在寻找的是一个使用来自操作系统的文件监视器功能的库,即 用于Win32的FindFirstChangeNotification,用于Linux的FAM以及其他操作系统上可用的任何功能.我不介意使用暴力作为后备,但对于Windows和Linux,它应该使用可用的操作系统功能.

java file-monitoring

25
推荐指数
3
解决办法
1万
查看次数

监控linux上的文件和目录访问

你知道任何linux程序,它会监视文件系统中目录和文件的访问吗?我想能够生成一些报告,说明在某段时间内访问某些文件的次数是多少?

linux file-monitoring

16
推荐指数
1
解决办法
3万
查看次数

监控文件更改c ++ linux

我正在使用linux,我有一个目录,其中有子目录,子目录中有文件.我必须监视文件中的更改.在C++中我使用boost.我每隔30秒检查一次所有目录并查看last_write_time.原则上,它的工作原理.但每次执行此操作时,我的CPU都会疯狂,我看到15%-25%的CPU使用率仅适用于此程序.我读过关于inotify的文章.如果我使用inotify,我会有或多或少相同的CPU使用率,还是会改进?我正在做什么有什么好的选择吗?

c++ linux file-monitoring

15
推荐指数
1
解决办法
2万
查看次数

如何在C#中记录低级OS文件事务?

由于文件/进程监视器在进行日志记录时无法进行过滤和不必要的重复,因此我希望重新创建该程序的功能并实时记录所有Windows文件操作.

我想记录各种属性,如时间,进程名称,源路径,目标路径,操作,结果和详细信息,就像Process Monitor一样.

如何让C#从操作系统中提取此信息?


编辑:正如zett42指出的那样,FileSystemWatcher例如,从进程本身创建的文件事件不会被拦截.举例来说,没有这些交易显示出来,即使我添加的事件:Changed,Created,Renamed,和DeletedFileSystemWatcher和设置EnableRaisingEvents标志设置为true.


编辑2:使用SimonMourier建议的Microsoft.Diagnostics.Tracing.TraceEvent nuget包,我设法敲了下面的代码.

本节放入后台工作者:

Console.CancelKeyPress += (sender, e) => session.Stop();
session.EnableKernelProvider(KernelTraceEventParser.Keywords.All);
session.Source.Kernel.FileIOWrite += Kernel_FileIOWrite;            
session.Source.Process();
Run Code Online (Sandbox Code Playgroud)

然后,在调用(自动)时,创建的FileIOWrite事件将运行以下命令:

private void Kernel_FileIOWrite(Microsoft.Diagnostics.Tracing.Parsers.Kernel.FileIOReadWriteTraceData obj)
{
    string filename = obj.FileName;
    string processpath = "";
    if (obj.ProcessID == 0) processpath = "System Idle Process";
    else if (obj.ProcessID == 4) processpath = "System";
    else
    {
        try { processpath = "ID: " …
Run Code Online (Sandbox Code Playgroud)

c# winapi interop file-monitoring procmon

11
推荐指数
1
解决办法
297
查看次数

独立于操作系统的API来监控文件系统?

我想尝试一下有关分布式文件同步/复制的想法.为了在用户工作时提高效率,我想实现某种守护进程来监视某些目录中的更改(例如/ home/user/dirToBeMonitored或c:\ docs和setts\user\dirToBeMonitored).因此,我可以知道每次(或在合理的时间间隔内)添加/更改/删除了哪个文件名.

这可能与任何高中级语言一起使用吗?你知道一些API(以及使用哪种语言?)来做到这一点?

谢谢.

file-monitoring platform-independent

8
推荐指数
2
解决办法
2968
查看次数

如何在python中获取文件关闭事件

在Windows 7 64位机器上使用python 2.7.

如何获取文件关闭事件:

  1. 在文件打开器的新进程中打开文件时(如记事本,每次在wordpad的新进程中打开文件的wordpad)
  2. 在文件打开器的选项卡中打开文件时(如notepad ++,它会打开新选项卡中的所有文件,但只存在一个运行notepad ++的进程)

那么,如何在上述情况下获取文件关闭事件?是否可以通过公共代码实现上述情况?我正在处理不同的文件类型

python windows file process file-monitoring

8
推荐指数
1
解决办法
4562
查看次数

完成传输后将文件移动到另一个目录

我有一个视频编码脚本,我想在文件移动到特定目录后立即运行.

如果我使用像inotify这样的东西,我如何确保文件在完成移动之前不进行编码?

我考虑过这样做:

  • 将(rsync)文件复制到临时目录中.
  • 完成后,将(简单的'mv')移动到encode目录中.
  • 让我的脚本监视编码目录.

但是,如何使第2步正常工作并且仅在#1完成后运行?

我正在使用Ubuntu Server 11.10,我想使用bash,但如果能够简化问题,我可以说服我使用Python.

我不是将文件"下载"到这个目录中; 相反,我绝大多数时间都会使用rsync.

此外,此Ubuntu服务器正在VM上运行.

我通过NFS从FreeBSD服务器安装了我的主文件存储.

python bash ubuntu file-monitoring

6
推荐指数
1
解决办法
1016
查看次数

如何检测文件在读取时是否被截断

我正在读取一组文件(日志文件)中的行,因为它们是使用 pyinotify 编写的。

我正在使用 python 本机方法打开并读取文件:

file = open(self.file_path, 'r')
# ... later
line = file.readline()
Run Code Online (Sandbox Code Playgroud)

这通常是稳定的,可以处理被删除和重新创建的文件。pyinotify 将通知取消链接和后续链接。

但是,某些日志文件不会被删除。相反,它们被截断并将新内容写入同一文件的开头。

我无法可靠地检测何时发生这种情况,因为 pyinotify 仅报告写入。我目前得到的唯一证据是 pyinotify 报告写入并readline()返回一个空字符串。但是,后续的两次写入可能会触发相同的行为。

我曾考虑过比较文件的大小,file.tell()但根据文档tell会产生一个不透明的数字,并且似乎不能相信这是一个字节数。

有没有一种简单的方法来检测文件在读取时是否被截断?


编辑:

可以使用简单的 shell 命令来模拟截断文件:

echo hello > test.log
echo hello >> test.log
# Truncate test.log
echo goodbye > test.log
Run Code Online (Sandbox Code Playgroud)

为了补充这一点,可以使用一个简单的 python 脚本来确认file.tell()文件被截断时不会减少:

foo = open('./test.log', 'r')
line = foo.readline()
while line != '':
    print(foo.tell())
    print(line)
    line = foo.readline()

# Put a breakpoint on the following line …
Run Code Online (Sandbox Code Playgroud)

python linux file-monitoring inotify

6
推荐指数
1
解决办法
2310
查看次数

如何从Windows服务调用我的DLL?

我创建了ac#库文件,它将转到本地路径,例如(c:\ test.txt)找到文件并上传到ftp服务器.

为了测试我只是从控制台应用程序调用dll,但我如何作为Windows服务运行,这将持续运行?

我想运行这个dll作为服务来监视c:\文件夹,如果任何文件像"test.txt"那样上传.

提前致谢

c# windows service file-monitoring

3
推荐指数
1
解决办法
1万
查看次数

使用 .NET Core 2.0 监视 Windows 上文件的更改

在您向我发送指向此处此处此处的链接之前,请耐心等待。

我想编写一个服务来监视给定文件集的更改,我从最简单的编写控制台应用程序开始,该应用程序监视目录以继续我的 POC。但是,我在尝试提取所做的实际更改时遇到了困难。(是的,我设法处理了FileSystemWatcher类中的事件,但就我看到的类的 API 而言,我无法跟踪实际更改)

你知道有没有办法做到这一点?也许没有那么多痛苦或不必要的操作。

我目前使用 .NET Core 2.0,但任何版本的 .NET Core 都可以。

编辑:我需要监视的文件是基于文本的,基本上我想实现git diff功能并报告更改。

c# file-monitoring .net-core

2
推荐指数
1
解决办法
5469
查看次数

阻止 .exe 文件

对于我正在开发的一个小项目,我需要阻止“.exe”文件运行并知道尝试运行的文件的路径。也许 Windows API 挂钩可以帮助我,但我不确定,而且我还没有使用过它。

谁能指导我如何做到这一点,可能是通过 API 挂钩?

c++ winapi file-monitoring api-hook

0
推荐指数
1
解决办法
234
查看次数