我正在調用以下命令並閱讀outpup df -F ufs -o i
。它最初運行良好,但後來開始失敗的原因報告和在這裏解釋http://wesunsolve.net/bugid/id/6795242。如何在Solaris/Unix上獲得文件系統的inode計數?
雖然在上面的鏈接建議的解決方案可能工作,但它是醜陋的,我想要一個永久的解決方案。因此,真正在Solaris/Unix上尋找c api會給我一個給定文件系統的inode的總數和可用數量。
非常感謝Sample/Example。
我正在調用以下命令並閱讀outpup df -F ufs -o i
。它最初運行良好,但後來開始失敗的原因報告和在這裏解釋http://wesunsolve.net/bugid/id/6795242。如何在Solaris/Unix上獲得文件系統的inode計數?
雖然在上面的鏈接建議的解決方案可能工作,但它是醜陋的,我想要一個永久的解決方案。因此,真正在Solaris/Unix上尋找c api會給我一個給定文件系統的inode的總數和可用數量。
非常感謝Sample/Example。
系統調用statvfs可用於檢索文件系統統計信息,包括總的inode數量和空閒inode數量。使用系統調用檢索statvfs結構,然後檢查f_files
和f_ffree
字段以分別確定inode的數量和空閒inode的數量。
例子:
#include <statvfs.h>
struct statvfs buffer;
int status;
fsfilcnt_t total_inodes;
fsfilcnt_t free_inodes;
...
status = statvfs("/home/betaylor/file_in_filesystem", &buffer);
total_inodes = buffer.f_files;
free_inodes = buffer.f_ffree;
...
你想要的是statvfs
- 看到man page on the Solaris web site。
非常感謝您花時間回答並撰寫示例:) – 2010-12-03 20:29:49