プロパティを取得するにはファイルを開く必要がありますか?

プロパティを取得するにはファイルを開く必要がありますか?
int stat(const char *filename, struct stat *buf);
int fstat(int fd, struct stat *buf);

プロパティを取得するにはファイルを開く必要がありますか?

ファイルの属性にアクセスするには、ファイル記述子テーブル、ファイルテーブル、および/またはvnodeテーブルのファイルエントリにアクセスする必要がありますか?

指定されたファイルのファイル記述子をstat()最初に呼び出し、次にファイル記述子またはそれに対応するメソッドを呼び出して実行されますか?open()fstat()

ありがとうございます。

答え1

いいえ、開く必要はありません。

システムstat()コールにはファイル記述子は含まれません。

stat()実際にアクセス権を持たない一部のファイルにアクセスすることもできますopen()

関連情報