ဟာ Linux စစ်ဌာနချုပ်ဖွင့်ပါလေ့လာပါ

အနှစ်ချုပ်

#include << တစ်ဦးက href = "file ကို: /usr/include/sys/types.h"> sys / types.h> #include << တစ်ဦးက href = "file ကို: /usr/include/sys/stat.h"> sys / stat.h> #include << တစ်ဦးက href = "file ကို: /usr/include/fcntl.h"> fcntl.h> ပွင့်လင်း int (const char * လမ်းကြောင်းအမည်ကို, အလံ int); int ပွင့်လင်း (const char * လမ်းကြောင်းအမည်ကို, int အလံ, mode_t mode ကို); int ခြင်း (const char * လမ်းကြောင်းအမည်ကို, mode_t mode ကို);

ဖေါ်ပြချက်

() စနစ်ကခေါ်ဆိုခ linux ကိုဖွင့် command ကို (စသည်တို့ကိုဖတ်နှင့်ဝသကဲ့သို့နောက်ဆက်တွဲ I / O အတွက်အသုံးပြုရန်သေးငယ်တဲ့, အနုတ်ကိန်းမဟုတ်ရပါ, ရေး,) ဖိုင်တစ်ဖိုင် descriptor ကိုသို့လမ်းကြောင်းအမည်ကိုပြောင်းလဲအသုံးပြုသည်။ ခေါ်ဆိုမှုအောင်မြင်သောဖြစ်တဲ့အခါ, ဖိုင် descriptor ကိုလုပ်ငန်းစဉ်များအတွက်လက်ရှိပွင့်လင်းမနိမ့်ဆုံးဖိုင် descriptor ကိုဖြစ်မည်မဟုတ်ပါပြန်လာ၏။ ဤခေါ်ဆိုမှုကိုအခြားလုပ်ငန်းစဉ် shared မဟုတ်ပါဘူးအသစ်တခုဖွင့်လှစ်ဖိုင်ဖန်တီးပေးပါတယ်။ (shared ပွင့်လင်းဖိုင်တွေလမ်းဆုံလမ်းခွကနေတစ်ဆင့်ပျေါလာနိုငျသျောလညျး (2) system ကိုဖုန်းခေါ်ဆိုမှု။ ) သစ်ဖိုင် descriptor ကို (fcntl (2) ကိုကြည့်ပါ) အမှုဆောင်အရာရှိလုပ်ဆောင်ချက်များကိုအနှံ့ဖွင့်ထားရှိနေဆဲဟုသတ်မှတ်ထားသည်။ offset ဖိုင်ဖိုင်ရဲ့အစအဦးဟုသတ်မှတ်ထားသည်။

အဆိုပါ parameter သည်အလံအသီးသီးအောက်ပါ၏သုညသို့မဟုတ်ထိုထက်ပိုအတူ bitwise- သို့မဟုတ် 'ဃသာ-write သို့မဟုတ် / Write ဖတ်ကိုဖတ်သာဖိုင်ကိုဖွင့်ကိုတောင်းဆိုရာ O_RDONLY, O_WRONLY သို့မဟုတ် O_RDWR တဦးသည်:

O_CREAT

ဖိုင်ကိုမတည်ရှိပါဘူးဆိုရင်ဒါဟာဖန်တီးလိမ့်မည်။ ဖိုင်ကို၏ပိုင်ရှင် (အသုံးပြုသူ ID ကို) ကလုပ်ငန်းစဉ်၏ထိရောက်သောအသုံးပြုသူ ID ကိုသတ်မှတ်ထားခြင်းဖြစ်သည်။ အဆိုပါအုပ်စုသည်ပိုင်ဆိုင်မှု (အုပ်စုတစ်စု၏ ID) ဖိုင်စနစ်အမျိုးအစားပေါ် မူတည်. (ထိုလုပ်ငန်းစဉ်၏ထိရောက်သောအုပ်စုကို ID ကိုမှဒါမှမဟုတ်မိဘ directory ၏အုပ်စု ID ကိုမှဖြစ်စေသတ်မှတ်ထားနဲ့ options mount နှင့်မိဘ directory ကို၏ mode ကိုတွေ့, ဥပမာတောင်ပေါ်မှာဖြစ်ပါတယ် တောင်ပေါ်မှာ (8) မှာဖော်ပြထားတဲ့အတိုင်း ext2 ဖိုင်စနစ်၏ရွေးချယ်စရာ bsdgroups နှင့် sysvgroups,)

O_EXCL

O_CREAT နှင့်အတူအသုံးပြုသောအခါဖိုင်ရှိထားပြီးသားလျှင်, မှားယွင်းမှုတစ်ခုနှင့်ပွင့်လင်းပျက်ကွက်ပါလိမ့်မယ်။ ယင်းကိစ္စနှင့်စပ်လျဉ်းတစ်ဦးသင်္ကေတ link ကိုမခွဲခြားဘဲရှိရာက၎င်း၏အချက်များမှ၏တည်ရှိနေသေးသည်။ O_EXCL အပေါ်ကျိုးသည် NFS ဖိုင်စနစ်များ , သော့ခတ်တာဝန်များကိုဖျော်ဖြေဘို့ပေါ်မှာအားကိုးရသောအစီအစဉ်များကိုတစ်ဦးအပြေးပြိုင်ပွဲအခွအေနေဆံ့မည်ဖြစ်သည်။ တစ်ဦး lockfile သုံးပြီးအနုမြူဗုံးဖိုင်ကိုသော့ခတ်ဖျော်ဖြေမှုအတွက်ဖြေရှင်းချက်အတူတူ fs အပေါ်ထူးခြားတဲ့ဖိုင် (ဥပမာ hostname နှင့် PID ထည့်သွင်း), ကိုအသုံးပြုခြင်းဖန်တီးရန်ဖြစ်ပါသည် link ကို ပု lockfile မှ link တစ်ခုလုပ် (2) ။ link ကိုပါလျှင် () သော့ခတ်အောင်မြင်သောဖြစ်ပါသည်, 0 ပြန်လည်ရောက်ရှိ။ ယင်း၏ link ကိုရေတွက်သော့ခတ်လည်းအောင်မြင်သောအရာအမှု၌, 2 မှတိုးတကျခဲ့ပါလျှင်စစ်ဆေးဖို့ထူးခြားသောဖိုင်ပေါ်တွင်ဒီလိုမှမဟုတ်ရင်အသုံးပြုမှု Stat (2) ။

O_NOCTTY

လမ်းကြောင်းအမည်ကို Terminal ကို device ကိုရည်ညွှန်းလိုလျှင် --- TTY တွေ့မြင် (4) --- ကဖြစ်စဉ်ကိုတဦးတည်းရှိသည်ပါဘူးလျှင်ပင်ထိုလုပ်ငန်းစဉ်ရဲ့အထိန်းချုပ် terminal ကိုဖြစ်လာလိမ့်မည်မဟုတ်ပေ။

O_TRUNC

ဖိုင်ကိုပြီးသားတည်ရှိခြင်းနှင့် အကယ်. ပုံမှန်ဖိုင်နှင့်ပွင့်လင်း mode ကိုရေးသားခြင်းခွင့်ပြု (ဆိုလိုသည်မှာ O_RDWR သို့မဟုတ် O_WRONLY ဖြစ်ပါတယ်) file ကိုတစ်ဦး FIFO ဒါမှမဟုတ် terminal device ကိုဖိုင်လျှင်အရှည် 0. မှဖြတ်တောက်ခြင်းကိုခံရလိမ့်မည်ဟု O_TRUNC အလံလျစ်လျူရှုနေပါတယ်။ ဒီလိုမှမဟုတ်ရင် O_TRUNC ၏အကျိုးသက်ရောက်မှုမသတ်မှတ်ထားသောဖြစ်ပါတယ်။ (အများအပြား Linux ကိုတွင် ဗားရှင်း ကလျစ်လျူရှုကြလိမ့်မည်ကိုအခြားဗားရှင်းပေါ်ကမှားယွင်းမှုတစ်ခုပြန်လာပါလိမ့်မယ်။ )

O_APPEND

ဖိုင် Append mode မှာဖွင့်လှစ်ခဲ့သည်။ တစ်ဦးချင်းစီကိုရေးမပြုမီ, ဖိုင်ကို pointer lseek နှင့်အတူပါလျှင်သည်အတိုင်း, ဖိုင်ရဲ့အဆုံးမှာ positioned ဖြစ်ပါတယ်။ တစ်ဦးထက်ပိုဖြစ်စဉ်ကိုတခါမှာဖိုင်တစ်ဖိုင်မှဒေတာများ appends လျှင် O_APPEND NFS ဖိုင်စနစ်များပေါ်တွင်ပျက်စီးဖိုင်တွေဖို့ဦးဆောင်လမ်းပြလိမ့်မည်။ NFS ဖိုင်တစ်ဖိုင်မှ appending ထောကျပံ့ပေးမထားဘူးဘာလို့လဲဆိုတော့ဒါကဖြစ်ပါသည်, ထို့ကြောင့် client ကို kernel ကိုတစ်ဦးအပြေးပြိုင်ပွဲအခွအေနေစရာမလိုဘဲပြုသောအမှုမရနိုငျသောကြောင့်တူအောင်ဖန်တီးဖို့ရှိပါတယ်။

O_NONBLOCK သို့မဟုတ် O_NDELAY

ဘယ်အချိန်မှာဖြစ်နိုင်ဖိုင်ကို Non-ပိတ်ဆို့ခြင်း mode မှာဖွင့်လှစ်ခဲ့သည်။ ပွင့်လင်းမဟုတ်သလိုပြန်ရောက်သောဖိုင်ကို descriptor ကိုပေါ်မဆိုနောက်ဆက်တွဲစစ်ဆင်ရေးကိုမခေါ်ဆိုမှုဖြစ်စဉ်ကိုစောင့်ဆိုင်းစေပါလိမ့်မယ်။ (ပိုက်အမည်ရှိ) FIFOs များ၏ကိုင်တွယ်ဘို့, (4) fifo ကိုလည်းကြည့်ပါ။ ဒီ mode FIFOs ထက်အခြားဖိုင်တွေအပေါ်တစ်စုံတစ်ရာအကျိုးသက်ရောက်မှုရှိသည်မဟုတ်လိုအပ်ပါတယ်။

O_SYNC

ဖိုင် synchronous I / O များအတွက်ဖွင့်လှစ်ခဲ့သည်။ ဒေတာကိုယ်ထိလက်ရောက်နောက်ခံဟာ့ဒ်ဝဲရေးသားထားပြီးသည်အထိရရှိလာတဲ့ file ကို descriptor ကိုပေါ်မဆိုရေးသားမှု့ခေါ်ဆိုမှုဖြစ်စဉ်ကိုပိတ်ဆို့ပါလိမ့်မယ်။ သော်လည်းအောက်တွင်န့်သတ်ချက်များကိုကြည့်ပါ။

O_NOFOLLOW

လမ်းကြောင်းအမည်ကိုတစ်ဦးသင်္ကေတ link ကိုလိုလျှင်, ထို့နောက်ပွင့်လင်းပျက်ကွက်။ ဒီဗားရှင်း 2.1.126 အတွက် Linux ကိုထည့်သွင်းခဲ့သည့်တစ်ဦး FreeBSD extension ကိုဖြစ်ပါတယ်။ အဆိုပါလမ်းကြောင်းအမည်ကို၏အစောပိုင်းအစိတ်အပိုင်းများအတွက် symbolic လင့်များနေဆဲနောက်တော်သို့လိုက်ပါလိမ့်မည်။ glibc 2.0.100 နောက်ပိုင်းတွင်မှအခေါင်းစီးများဒီအလံတစ်ဦးနှင့်အဓိပ္ပါယ်ပါဝင်သည်; အသုံးပြုသောလျှင် 2.1.126 မတိုင်မီအဆန်ကလျစ်လျူရှုပါလိမ့်မယ်။

O_DIRECTORY

လမ်းကြောင်းအမည်ကိုဟာ directory မဟုတ်ပါဘူးလျှင်, ပွင့်လင်းပျက်ကွက်စေ။ ဤသည်အလံ Linux ကို-သတ်သတ်မှတ်မှတ်ဖြစ်ပြီး, opendir (3) တစ်ဦး FIFO သို့မဟုတ်တိပ်စက်ပစ္စည်းပေါ်ရှိလို့ခေါ်ပါတယ်, ဒါပေမယ့် opendir များ၏အကောင်အထည်ဖော်မှုပြင်ပတွင်မသုံးသင့်ပေပါလျှင်ငြင်းပယ်-of-service ကိုပြဿနာများကိုရှောင်ရှားရန်, kernel ကိုဗားရှင်း 2.1.126 အတွက်ထည့်သွင်းခဲ့သည် ။

O_DIRECT

ဤဖိုင်ရန်နှင့်ကနေ I / O ၏ cache ကိုသက်ရောက်မှု minimize လုပ်ဖို့ကြိုးစားပါ။ ယေဘုယျ၌ဤစွမ်းဆောင်ရည်နိမ်လိမ့်မယ်, ဒါပေမယ့်သူကထိုကဲ့သို့သော applications များဟာသူတို့ရဲ့ကိုယ်ပိုင်ယာယီသိမ်းဆည်းလုပျတဲ့အခါမှာအဖြစ်အထူးအခြေအနေများအတွက်အသုံးဝင်သည်။ file ကို I / O မှ / အသုံးပြုသူအာကာသကြားခံမှတိုက်ရိုက်ပြုသောအမှုဖြစ်ပါတယ်။ I / O အဆိုပါဖတ်ပြီးသား (2) ၏ပြီးစီးမှာ, ဆိုလိုသည်မှာ, synchronous ဖြစ်ပါတယ်သို့မဟုတ် (2) စနစ်ကခေါ်ဆိုခရေးလိုက်, ဒေတာလွှဲပြောင်းခဲ့ဖို့အာမခံချက်ဖြစ်ပါတယ်။ အရွယ်အစားလွှဲပြောင်းနှင့် offset အသုံးပြုသူကြားခံနှင့်ဖိုင်ရဲ့ alignment ကိုအားလုံးဖိုင်စနစ်၏ယုတ္တိပိတ်ပင်တားဆီးမှုအရွယ်အစားအလီလီဖြစ်ရပါမည်။
ဤသည်အလံ Unix-like စနစ်များနံပါတ်ပေါ်ထောက်ခံလျက်ရှိ၏ ထောက်ခံမှု kernel ကိုဗားရှင်း 2.4.10 အတွက် Linux ကိုအောက်တွင်ထည့်သွင်းခဲ့သည်။
ပိတ်ပင်တားဆီးမှု device များအတွက်တစ်ဦးကဝေါဟာရအသုံးအနှုံးအလားတူ interface ကို (8) ကုန်ကြမ်းမှာဖော်ပြထားတဲ့ဖြစ်ပါတယ်။

O_ASYNC

(ပုံမှန်အားဖြင့် SIGIO, သို့သော်ဤ fcntl (2) ကနေတဆင့်ပြောင်းလဲသွားနိုင်ပါသည်) တစ်ဦး signal ကို Generate input ကိုသို့မဟုတ် output ကိုဒီဖိုင် descriptor ကိုပေါ်နိုင်သမျှဖြစ်လာသည့်အခါ။ ဒီ feature ဆိပ်ကမ်း, Pseudo-ဆိပ်ကမ်းများနှင့်ခြေစွပ်အဘို့ကိုသာရရှိနိုင်ပါသည်။ နောက်ထပ်အသေးစိတ်များ (2) fcntl ကိုကြည့်ပါ။

O_LARGEFILE

အဆိုပါအကြီးစား Files System ကိုထောက်ပံ့သော 32-bit နဲ့စနစ်များတွင်, အဘယ်သူ၏အရွယ်အစားဖွင့်လှစ်ခံရဖို့ 31-bits အတွက်ကိုယ်စားပြုမရနိုငျဖိုင်တွေခွင့်ပြုပါ။

ဖိုင်ကိုဖွင့်လှစ်ခဲ့ပြီးပြီးနောက်ထိုအ optional ကိုအလံ၏အချို့ fcntl သုံးပြီးပြောင်းလဲနိုင်ပါသည်။

အဆိုပါအငြင်းအခုံ mode ကိုဖိုင်အသစ်တစ်ခုနေသူများကဖန်တီးအမှု၌သုံးစွဲဖို့ခွင့်ပြုချက်ကိုသတ်မှတ်ပါတယ်။ ဒါဟာပုံမှန်အတိုင်းလမ်းအတွက်လုပ်ငန်းစဉ်ရဲ့အ umask အားဖြင့်ပြုပြင်ထားသောဖြစ်ပါတယ်: အ created ဖိုင်၏ခွင့်ပြုချက် (mode ကို & ~ umask) ဖြစ်ကြသည်။ ဒီ mode ကိုသာအသစ်ဖန်တီးဖိုင်အနာဂတ် Access သက်ဆိုင်ကြောင်းမှတ်ချက်; တစ်ဦးဖတ်ရန်အတွက်သာဖိုင်ကိုဖန်တီးသောပွင့်လင်းခေါ်ဆိုခကောင်းစွာတစ်ဖတ် / Write ဖိုင် descriptor ကိုပြန်လာလိမ့်မည်။

အောက်ပါသင်္ကေတရုံကလွဲပြီး mode ကိုများအတွက်ထောက်ပံ့ပေးနေကြသည်:

S_IRWXU

00700 အသုံးပြုသူ (ဖိုင်ပိုင်ရှင်) ကိုဖတ်ခဲ့ပြီးခွင့်ပြုချက်ရေးသားစီရင်

S_IRUSR (S_IREAD)

00400 အသုံးပြုသူခွင့်ပြုချက်ကိုဖတ်ပြီးထားပါတယ်

S_IWUSR (S_IWRITE)

00200 အသုံးပြုသူခွင့်ပြုချက်ရေးဖို့ရှိပါတယ်

S_IXUSR (S_IEXEC)

00100 အသုံးပြုသူခွင့်ပြုချက် execute ရှိပါတယ်

S_IRWXG

00070 အုပ်စုတစ်စုကိုဖတ်ခဲ့ပြီးခွင့်ပြုချက်ရေးသားစီရင်

S_IRGRP

00040 အုပ်စုသည်ခွင့်ပြုချက်ကိုဖတ်ပြီးထားပါတယ်

S_IWGRP

00020 အုပ်စုတစ်စုခွင့်ပြုချက်ရေးဖို့ရှိပါတယ်

S_IXGRP

00010 အုပ်စုတစ်စုခွင့်ပြုချက် execute ရှိပါတယ်

S_IRWXO

00007 အခြားသူတွေကိုဖတ်ပြီးကြပါပြီ, ခွင့်ပြုချက်ရေးသားစီရင်

S_IROTH

00004 အခြားသူများကိုခွင့်ပြုချက်ကိုဖတ်ပြီးကြပါပြီ

S_IWOTH

00002 အခြားသူများကိုရေးခွင့်ပြုချက်ရှိ

S_IXOTH

00001 အခြားသူများကိုခွင့်ပြုချက် execute ရှိ

mode ကို O_CREAT အလံ၌တည်ရှိ၏သည့်အခါသတ်မှတ်ထားရမည်ဖြစ်သည်နှင့်မဟုတ်ရင်လျစ်လျူရှုနေပါတယ်။

ခြင်း O_CREAT ညီမျှအလံနှင့်အတူဖွင့်ဖို့ညီမျှသည် | O_WRONLY | O_TRUNC

return တန်ဖိုး

ပွင့်လင်းခြင်းနှင့်မှားယွင်းမှုတစ်ခု (မည်သည့်ကိစ္စရပ်အတွက် errno သင့်လျော်စွာသတ်မှတ်) ဖြစ်ပွားခဲ့သည်လျှင်အသစ်သောဖိုင် descriptor ကိုပြန်လာ, ဒါမှမဟုတ် -1 ခြင်း။ ပွင့်လင်း device ကိုအထူးဖိုင်တွေဖွင့်နိုင်သည်ကိုသတိပြုပါ, ဒါပေမယ့်ခြင်းသူတို့ကိုအားမဖန်တီးနိုင် - မယ့်အစား (2) mknod ကိုအသုံးပြုပါ။

UID မြေပုံနှင့်အတူ NFS ဖိုင်စနစ်များတွင်ဖိုင်တစ်ဖိုင် descriptor ကိုပြန်လာပေမယ့်ဥပမာ (2) တောင်းဆိုမှုများ EACCES နှင့်အတူငြင်းပယ်ကြသည်ကိုဖတ်ရှုစေခြင်းငှါပွင့်လင်း, enabled ။ ဒါက client ကိုခွင့်ပြုချက်တွေကိုစစ်ဆေးနေခြင်းဖြင့်ပွင့်လင်းလုပ်ဆောင်နေသောကြောင့်ဖြစ်တယ်, ဒါပေမဲ့ UID မြေပုံဖတ်ပေါ်မှာဆာဗာကဖျော်ဖြေခြင်းနှင့်တောင်းဆိုမှုများကိုရေးလိုက်တာဖြစ်ပါတယ်။

ဖိုင်ကိုအသစ်နေသူများကဖန်တီး အကယ်. ၎င်း၏ atime, ctime, mtime လယ်ကွင်းလက်ရှိအချိန်ဟုသတ်မှတ်ကြသဖြင့်, ဒါကြောင့်မိဘ directory ကို၏ ctime နှင့် mtime လယ်ကွင်းဖြစ်ကြသည်။ ဖိုင်ကိုကြောင့် O_TRUNC အလံ၏ပြုပြင်မွမ်းမံလျှင်ဒီလိုမှမဟုတ်ရင်သူ့ရဲ့ ctime နှင့် mtime လယ်ကွင်းလက်ရှိအချိန်ဟုသတ်မှတ်နေကြသည်။

မှားယွင်းမှုများ

EEXIST

လမ်းကြောင်းအမည်ကိုပြီးသားတည်ရှိခြင်းနှင့် O_CREAT နှင့် O_EXCL အသုံးပြုခဲ့ကြသည်။

EISDIR

လမ်းကြောင်းအမည်ကိုဟာ directory ကိုရည်ညွှန်းသည်နှင့်လက်လှမ်းမီ (အကြောင်း, O_WRONLY သို့မဟုတ် O_RDWR သတ်မှတ်) ပါဝင်ပတ်သက်အရေးအသားမေတ္တာရပ်ခံခဲ့သည်။

EACCES

ဖိုင်ကိုရန်မေတ္တာရပ်ခံ access ကိုခွင့်မပြုပါ, ဒါမှမဟုတ်လမ်းကြောင်းအမည်ကိုအတွက်လမ်းညွှန်တဦးရှာဖွေရေး (execute) ခွင့်ပြုချက်ဒါမှမဟုတ်ဖိုင်သေးတည်ရှိခြင်းနှင့်မိဘ directory ကိုမှဝင်ရောက်ခွင့်ကိုရေးခဲ့ပါဘူးခွင့်မပြုခဲ့ပါဘူးခွင့်ပြုမထားပေ။

ENAMETOOLONG

လမ်းကြောင်းအမည်ကိုကြာလွန်းခဲ့သည်။

ENOENT

O_CREAT သတ်မှတ်မထားနှင့်အမည်ရှိ file ကိုမတည်ရှိပါဘူး။ သို့မဟုတျ, လမ်းကြောင်းအမည်ကိုတစ် directory ကို component တစ်ခုတည်ရှိသို့မဟုတ်တစ် dangling သင်္ကေတ link ကိုမထားဘူး။

ENOTDIR

လမ်းကြောင်းအမည်ကိုတစ်ဦးသည် directory အဖြစ်အသုံးပြုတစ်ဦးက component တစ်ခု, တကယ်တော့တစ်ဦး directory ကိုမဖြစ်, သို့မဟုတ် O_DIRECTORY သတ်မှတ်ထားသောနှင့်လမ်းကြောင်းအမည်ကိုတစ် directory ကိုမရခဲ့သည်။

ENXIO

O_NONBLOCK | O_WRONLY သတ်မှတ်သည့်အမည်ရှိ file ကိုတစ်ဦး FIFO သည်နှင့်အဘယ်သူမျှမဖြစ်စဉ်ကိုစာဖတ်ခြင်းအတွက်ဖွင့်ဖိုင်ကိုရှိပါတယ်။ ဒါမှမဟုတ်ဖိုင်တစ် device ကိုအထူးဖိုင်နှင့်မျှမသက်ဆိုင်တဲ့ device ကိုရှိနေပြီ။

ENODEV

လမ်းကြောင်းအမည်ကိုကိရိယာအထူး file ကိုရည်ညွှန်းသည်နှင့်မျှမသက်ဆိုင်တဲ့ device ကိုရှိနေပြီ။ (ဤတစ် Linux kernel bug ကိုဖြစ်ပါသည် - ဒီအခြေအနေမှာ ENXIO ပြန်ရောက်ရမည်ဖြစ်သည်။ )

EROFS

လမ်းကြောင်းအမည်ကိုတစ်ဖတ်ရန်အတွက်သာဖိုင်စနစ်အပေါ်ဖိုင်တစ်ခုကိုရည်ညွှန်းသည်နှင့် Access ရေးဖို့မေတ္တာရပ်ခံခဲ့သည်။

ETXTBSY

လမ်းကြောင်းအမည်ကိုလက်ရှိကွပ်မျက်ခံရခံသောတစ်ဦးဟာ executable image ကိုရည်ညွှန်းခြင်းနှင့် access ကိုမေတ္တာရပ်ခံခဲ့သည်ရေးပါ။

EFAULT

သင့်ရဲ့လက်လှမ်းလိပ်စာအာကာသအပြင်ဘက်လမ်းကြောင်းအမည်ကိုမှတ်။

ELOOP

သိပ်အများကြီးသင်္ကေတလင့်များလမ်းကြောင်းအမည်ကိုဖြေရှင်းထဲမှာကြုံတွေ့ခဲ့ကြ, ဒါမှမဟုတ် O_NOFOLLOW သတ်မှတ်ထားသောခံခဲ့ရပေမယ့်လမ်းကြောင်းအမည်ကိုတစ်ဦးသင်္ကေတ link ကိုဖြစ်ခဲ့သည်။

ENOSPC

လမ်းကြောင်းအမည်ကိုဖန်တီးခဲ့ပေမယ့်လမ်းကြောင်းအမည်ကို် device ကိုသစ်ကိုဖိုင်ကိုမအခန်းတစ်ခန်းရှိပါတယ်။

ENOMEM

မလုံလောက်သော kernel ကိုမှတ်ဉာဏ်မရရှိနိုင်ခဲ့။

EMFILE

အဆိုပါဖြစ်စဉ်ကိုပြီးသားပွင့်လင်းဖိုင်တွေရဲ့အမြင့်ဆုံးနံပါတ်တစ်ခုရှိပါတယ်။

ENFILE

စနစ်အပေါ်ပွင့်လင်းဖိုင်တွေရဲ့အရေအတွက်စုစုပေါင်းအပေါ်ကန့်သတ်ရောက်ရှိလျက်ရှိသည်။

ဘက်ဘက်ကလိုက်လျောညီထွေ

SVr4, SVID, POSIX, X / ဖွင့် BSD 4.3 အဆိုပါ O_NOFOLLOW နှင့် O_DIRECTORY အလံများမှာ Linux ကို -specific ။ တဦးတည်းကသူတို့ရဲ့အဓိပ္ပာယ်ရရန် _GNU_SOURCE နိုင်တဲ့ macro သတ်မှတ်ရပေမည်။

ကန့်သတ်

အခြားသူတွေ O_SYNC နှင့် O_NDELAY များကြားထိခိုက် NFS, အခြေခံသည့် protocol ကိုအများအပြား infelicities ရှိပါတယ်။

POSIX အလံ O_SYNC, O_DSYNC နှင့် O_RSYNC မှသက်ဆိုင်ရာ, ညှိ I / O သုံးခုကွဲပြားခြားနားသောမျိုးကွဲများအတွက်ပေးပါသည်။ လောလောဆယ် (2.1.130) ထိုသူအပေါင်းတို့ Linux ကိုအောက်မှာပြောရလျှင်ဖြစ်ကြသည်။