Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用inotify通知新文件_Php_Shell_Inotify - Fatal编程技术网

Php 使用inotify通知新文件

Php 使用inotify通知新文件,php,shell,inotify,Php,Shell,Inotify,我需要制作一个脚本,在新文件进入目录时通知日志文件。我想使用inotify作为shell脚本或PHP,我发现的大多数示例都是C语言。有人能给我举个例子吗 此外,inotify是否可以知道文件何时完成复制?每当在/path/to/dir中创建文件时,此shell命令将写入日志文件: 说明: -m告诉inotifywait继续运行。默认设置是在第一个事件之后退出 -e create告诉inotifywait仅报告文件创建事件。根据您想要完成的任务,您可能对结束事件更感兴趣 /path/to/dir是

我需要制作一个脚本,在新文件进入目录时通知日志文件。我想使用inotify作为shell脚本或PHP,我发现的大多数示例都是C语言。有人能给我举个例子吗


此外,inotify是否可以知道文件何时完成复制?

每当在/path/to/dir中创建文件时,此shell命令将写入日志文件:

说明:

-m告诉inotifywait继续运行。默认设置是在第一个事件之后退出

-e create告诉inotifywait仅报告文件创建事件。根据您想要完成的任务,您可能对结束事件更感兴趣

/path/to/dir是要监视的目标目录。除非指定了递归选项-r,否则不会监视子目录

>>logfile告诉shell将所有输出重定向到logfile文件。如果您关闭此部分,输出将被定向到标准输出,您可以在创建文件时实时观看

监视更多事件 inotifywait将报告几个不同的事件。例如,我在一个窗口中运行inotifywait,同时从另一个窗口写入文件:

$ inotifywait -m .
Setting up watches.
Watches established.
./ OPEN myfile
./ MODIFY myfile
./ MODIFY myfile
./ MODIFY myfile
./ CLOSE_WRITE,CLOSE myfile
因为上面没有重定向,所以所有输出都显示在终端上

打开事件表示文件的初始创建。关闭事件表示流程已完成

inotifywait将向您显示的确切事件集取决于系统调用您正在监视的程序的方式。执行类似于上述的测试以找到答案。

请参阅:,对于可能触发的事件,关闭文件/复制文件时也可以捕获。
$ inotifywait -m .
Setting up watches.
Watches established.
./ OPEN myfile
./ MODIFY myfile
./ MODIFY myfile
./ MODIFY myfile
./ CLOSE_WRITE,CLOSE myfile