FUSEファイルシステムにあるbashスクリプトを実行するopen()
と、次のフラグを使用して呼び出しが行われます。
debug、cpfsfuse.c(62)、cpfs_fuse_open:パス "/make.sh"、フラグ0100040
フラグ(0100040
)は、のパラメータ2で渡されたフラグに対応している必要がありますopen()
。不明なフラグは、次のexecve()
呼び出しから発生します。
matt@stanley:~/cpfs/dir$ strace -f ./make.sh
execve("./make.sh", ["./make.sh"], [/* 37 vars */]
私のコードはを認識#define O_LARGEFILE 00100000
しますが、他のフラグexecve()
はが呼び出されたときにのみ発生するように見えます。
旗を探しても見つかりません:
matt@stanley:~/cpfs$ grep -RP '\b00*40\b' /usr/include/ | less
ほとんどの場合、ターミナルフラグが見つかります。この旗の起源と意味を追跡する方法、またはその定義をどこで見つけるかについて、誰かが光を当てることができますか?