0

今日から名前付きパイプの勉強を始めます。新しい名前付きパイプを作成するには、この関数を使用する必要があることを読みました:mkfifo (const char* nom, **mode_t mode**);

例:

if (mkfifo(("essai.fifo"), **0760**) == -1)
{

fprintf(stderr, "Can't create it");

exit(EXIT_FAILURE);

}

私の質問は、なぜ 2 番目の引数で " 0 " ( 0 760) から始めたのかということです。 7 所有者にすべてのアクセス許可を与える 6 はグループが読み書きできることを意味し、他のグループにはアクセス許可がないことを意味します

4

3 に答える 3

0

John3136 が指摘するように、先頭の「0」は、後続の「数値」(760) が 8 進数であることを意味します。したがって、新しいパイプの許可ビットは、所有者、グループ、および他のすべての人の rwxrw---- になります。

于 2016-04-24T02:23:29.823 に答える
-2

最初のビット (0760 の '0') は、実行ビットの set-user-ID、実行ビットの set-group-ID、およびスティッキー ビットを含む許可を表します

于 2016-04-24T02:22:09.230 に答える