FileObserver 不适用于 /proc/net/tcp6
FileObserver not working for /proc/net/tcp6
我想监视 /proc/net/tcp6 文件并使用 FileObserver 高效地执行此操作,但是由于某些未知原因从未调用 onEvent() 回调。
observerTcp6 = new FileObserver("/proc/net/tcp6", FileObserver.ALL_EVENTS) {
@Override
public void onEvent(int event, String path) {
Log.i("TAG", "onEvent");
}
};
observerTcp6.startWatching();
使用常规文件 class 解析此文件效果很好。
有人可以帮我吗? :)
你失败的原因是 /proc/net/tcp6
不是真正的文件 ;-)
它只是看起来像一个文件(例如,你可以 "open" 和 "read" 它),但实际上整个 /proc/*
条目是各种内核的接口 statistics\data,表示为 "pseudo-files" 只是为了简化对它们的访问。
因此,除了 "open" 和 "read".
之外,您不能对它们使用任何其他文件方法
P.S。
你的问题是 Linux 相关问题,实际上不是 Android.
我想监视 /proc/net/tcp6 文件并使用 FileObserver 高效地执行此操作,但是由于某些未知原因从未调用 onEvent() 回调。
observerTcp6 = new FileObserver("/proc/net/tcp6", FileObserver.ALL_EVENTS) {
@Override
public void onEvent(int event, String path) {
Log.i("TAG", "onEvent");
}
};
observerTcp6.startWatching();
使用常规文件 class 解析此文件效果很好。 有人可以帮我吗? :)
你失败的原因是 /proc/net/tcp6
不是真正的文件 ;-)
它只是看起来像一个文件(例如,你可以 "open" 和 "read" 它),但实际上整个 /proc/*
条目是各种内核的接口 statistics\data,表示为 "pseudo-files" 只是为了简化对它们的访问。
因此,除了 "open" 和 "read".
之外,您不能对它们使用任何其他文件方法P.S。 你的问题是 Linux 相关问题,实际上不是 Android.