|
更多技術交流歡迎咨詢:高老師3322386182
本文列出了大部分常見的Linux系統調用,并附有簡要中文說明。
以下是Linux系統調用的一個列表,包含了大部分常用系統調用和由系統調用派生出的的函數。這可能是你在互聯網上所能看到的唯一一篇中文注釋的Linux系統調用列表,即使是簡單的字母序英文列表,能做到這么完全也是很罕見的。
按照慣例,這個列表以man pages第2節,即系統調用節為藍本。按照筆者的理解,對其作了大致的分類,同時也作了一些小小的修改,刪去了幾個僅供內核使用,不允許用戶調用的系統調用,對個別本人稍覺不妥的地方作了一些小的修改,并對所有列出的系統調用附上簡要注釋。
其中有一些函數的作用完全相同,只是參數不同。(可能很多熟悉C++朋友馬上就能聯想起函數重載,但是別忘了Linux核心是用C語言寫的,所以只能取成不同的函數名)。還有一些函數已經過時,被新的更好的函數所代替了(gcc在鏈接這些函數時會發出警告),但因為兼容的原因還保留著,這些函數我會在前面標上“*”號以示區別。
更多技術交流歡迎咨詢:高老師3322386182
一、進程控制:
fork 創建一個新進程
clone 按指定條件創建子進程
execve 運行可執行文件
exit 中止進程
_exit 立即中止當前進程
getdtablesize 進程所能打開的最大文件數
getpgid 獲取指定進程組標識號
setpgid 設置指定進程組標志號
getpgrp 獲取當前進程組標識號
setpgrp 設置當前進程組標志號
getpid 獲取進程標識號
getppid 獲取父進程標識號
getpriority 獲取調度優先級
setpriority 設置調度優先級
modify_ldt 讀寫進程的本地描述表
nanosleep 使進程睡眠指定的時間
nice 改變分時進程的優先級
pause 掛起進程,等待信號
personality 設置進程運行域
prctl 對進程進行特定操作
ptrace 進程跟蹤
sched_get_priority_max 取得靜態優先級的上限
sched_get_priority_min 取得靜態優先級的下限
sched_getparam 取得進程的調度參數
sched_getscheduler 取得指定進程的調度策略
sched_rr_get_interval 取得按RR算法調度的實時進程的時間片長度
sched_setparam 設置進程的調度參數
sched_setscheduler 設置指定進程的調度策略和參數
sched_yield 進程主動讓出處理器,并將自己等候調度隊列隊尾
vfork 創建一個子進程,以供執行新程序,常與execve等同時使用
wait 等待子進程終止
wait3 參見wait
waitpid 等待指定子進程終止
wait4 參見waitpid
capget 獲取進程權限
capset 設置進程權限
getsid 獲取會晤標識號
setsid 設置會晤標識號
推薦一個不錯的網校,有很多免費的學習視頻,http://www.edu118.cn/
|
|