gpt4 book ai didi

java - 在 unix 中文件更改时触发进程

转载 作者:行者123 更新时间:2023-12-01 22:44:39 27 4
gpt4 key购买 nike

当不同远程节点中的文件发生更改时,我需要触发远程节点中的进程。场景是这样的。远程节点上有一个 cron 在未知时间运行。 Cron 触发一些进程,该进程将更改同一节点中的某些文件。我需要做的是,当这些文件发生更改时,我需要对这些文件进行解析并将其填充到其他远程节点的数据库中。

我怎样才能做到这一点。如何了解节点中的文件何时发生更改,并在不同节点中发现任何更改时触发 .sh 文件。

最佳答案

java7 WatchService满足您的要求,代码如下

    WatchService watchService=FileSystems.getDefault().newWatchService();  
Paths.get("/opt").register(watchService,
StandardWatchEventKinds.ENTRY_CREATE,
StandardWatchEventKinds.ENTRY_DELETE,
StandardWatchEventKinds.ENTRY_MODIFY);
while(true)
{
WatchKey key=watchService.take();
for(WatchEvent<?> event:key.pollEvents())
{
System.out.println(event.context()+" happen "+event.kind());
}
if(!key.reset())
{
break;
}
}

关于java - 在 unix 中文件更改时触发进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25543984/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com