Linux系統呼叫及使用者程式設計介面(API)(二)

2021-07-24 20:35:53 字數 844 閱讀 5482

一、系統呼叫- 建立 

int creat(const char *filename, mode_t mode ) 

filename :建立的檔名

(包含路徑,預設為當前路徑)

mode:建立模式

常建立模式:

s_irusr      可讀

s_iwusr     可寫

s_ixusr      可執行

s_ixrwu     可讀、可寫、可執行

除用以上巨集來選擇建立模式,也可以用數字來表示

二、系統呼叫-開啟

#include

#include

#include

int open(const char *pathname, int flags); 

int open(const char *pathname, 

int flags,mode_t mode); 

返回值:成功返回新分配的檔案描述符,

出錯返回-1並設定errno

三、引數含義

pathname是要開啟或建立的檔案的名字

flags引數可用來說明此函式的多個選擇項

mode對於open函式而言,僅當建立新檔案時才使用第三個引數

四、flags引數

以下可選項可以同時指定0個或多個, 和必選項按位或起來作為flags引數。

o_creat 若此檔案不存在則建立它。使用此選擇項時,需同時說明第三個引數mode,用其說明該新檔案的訪問許可權。

o_nonblock 如果p a t h n a m e指的是乙個塊特殊檔案或乙個字元特殊檔案,則此選擇項為此檔案的本次開啟操作和後續的i / o操作設定非阻塞方式。

Linux系統呼叫及使用者程式設計介面 API

1 linux系統呼叫 所謂系統呼叫是指作業系統提供給使用者程式呼叫的一組 特殊 介面,使用者程式可以通過這組 特殊 介面獲得作業系統核心提供的服務。例如,使用者可以通過程序控制相關的系統呼叫來建立程序 實現程序之間的通訊等。在這裡,為什麼使用者程式不能直接訪問系統核心提供的服務呢?這是由於在lin...

Linux系統呼叫及使用者程式設計介面(API)學習

linux系統呼叫 系統呼叫指作業系統提供給使用者程式呼叫的一組 特殊 介面,使用者程式可以通過這組 特殊 介面來獲得作業系統核心提供的服務。為什麼使用者程式不能直接訪問系統核心提供的服務呢?這是由於在linux中,為了更好地保護核心空間,將程式的執行空間分為使用者空間和核心空間 也就是常稱的使用者...

Linux系統程式設計 Linux系統呼叫

linux 系統呼叫 庫函式 目錄 系統呼叫概述 系統呼叫的實現 系統呼叫和庫函式的區別 系統呼叫,顧名思義,說的是作業系統提供給使用者程式呼叫的一組 特殊 介面。使用者程式可以通過這組 特殊 介面來獲得作業系統核心提供的服務,比如使用者可以通過檔案系統相關的呼叫請求系統開啟檔案 關閉檔案或讀寫檔案...