我正在调用以下命令并阅读outpup df -F ufs -o i
。它最初工作正常但后来由于报告的原因而开始失败并在此处解释http://wesunsolve.net/bugid/id/6795242。
虽然上面链接中提出的解决方案可能有效,但它很难看,我想要一个永久的解决方案。所以,真的在Solaris / Unix上寻找c api,它会给我一个给定文件系统的inode总数和可用数量。
非常感谢示例/示例。
答案 0 :(得分:3)
statvfs系统调用可用于检索文件系统统计信息,包括总索引节点数和空闲索引节点数。使用系统调用检索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;
...
答案 1 :(得分:1)
您想要的是statvfs
- 请参阅man page on the Solaris web site。