我不完全确定这里发生了什么,但是出了点问题......
首先,我的代码:
routeWatcher = new FileSystemWatcher();
routeWatcher.Path = Folder;
routeWatcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
routeWatcher.Filter = "*.*";
routeWatcher.Changed += onRouteFolderChanged;
routeWatcher.EnableRaisingEvents = true;
这里没有什么特别有趣的,我只是订阅监视通过文件夹提供的文件夹(我的代码更进一步)
这适用于Windows& Microsoft运行时,正如预期的那样,它显示一个打开的句柄 - 文件夹的那个。
另一方面,在OS-X下,我在使用lsof -p或Activity Monitor时看到文件夹中每个文件的打开句柄。
然而有些事情有点奇怪,因为我预计ulimit会对包含超过256个文件的文件夹感到不满:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 266
virtual memory (kbytes, -v) unlimited
这不会发生在包含631个文件的文件夹中,一切正常。
我是否误解了某些东西,或者我遇到过某种单声道的错误?