<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 常見(jiàn)的Linux系統調用

常見(jiàn)的Linux系統調用

作者: 時(shí)間:2011-02-25 來(lái)源:網(wǎng)絡(luò ) 收藏
本文列出了大部分常見(jiàn)的Linux系統調用,并附有簡(jiǎn)要中文說(shuō)明。

以下是Linux系統調用的一個(gè)列表,包含了大部分常用系統調用和由系統調用派生出的的函數。這可能是你在互聯(lián)網(wǎng)上所能看到的唯一一篇中文注釋的Linux系統調用列表,即使是簡(jiǎn)單的字母序英文列表,能做到這么完全也是很罕見(jiàn)的。

按照慣例,這個(gè)列表以man pages第2節,即系統調用節為藍本。按照筆者的理解,對其作了大致的分類(lèi),同時(shí)也作了一些小小的修改,刪去了幾個(gè)僅供內核使用,不允許用戶(hù)調用的系統調用,對個(gè)別本人稍覺(jué)不妥的地方作了一些小的修改,并對所有列出的系統調用附上簡(jiǎn)要注釋。

其中有一些函數的作用完全相同,只是參數不同。(可能很多熟悉C 朋友馬上就能聯(lián)想起函數重載,但是別忘了Linux核心是用C語(yǔ)言寫(xiě)的,所以只能取成不同的函數名)。還有一些函數已經(jīng)過(guò)時(shí),被新的更好的函數所代替了(gcc在鏈接這些函數時(shí)會(huì )發(fā)出警告),但因為兼容的原因還保留著(zhù),這些函數我會(huì )在前面標上“*”號以示區別。

一、進(jìn)程控制:

fork創(chuàng )建一個(gè)新進(jìn)程
clone按指定條件創(chuàng )建子進(jìn)程
execve運行可執行文件
exit中止進(jìn)程
_exit立即中止當前進(jìn)程
getdtablesize進(jìn)程所能打開(kāi)的最大文件數
getpgid獲取指定進(jìn)程組標識號
setpgid設置指定進(jìn)程組標志號
getpgrp獲取當前進(jìn)程組標識號
setpgrp設置當前進(jìn)程組標志號
getpid獲取進(jìn)程標識號
getppid獲取父進(jìn)程標識號
getpriority獲取調度優(yōu)先級
setpriority設置調度優(yōu)先級
modify_ldt讀寫(xiě)進(jìn)程的本地描述表
nanosleep使進(jìn)程睡眠指定的時(shí)間
nice改變分時(shí)進(jìn)程的優(yōu)先級
pause掛起進(jìn)程,等待信號
personality設置進(jìn)程運行域
prctl對進(jìn)程進(jìn)行特定操作
ptrace進(jìn)程跟蹤
sched_get_priority_max取得靜態(tài)優(yōu)先級的上限
sched_get_priority_min取得靜態(tài)優(yōu)先級的下限
sched_getparam取得進(jìn)程的調度參數
sched_getscheduler取得指定進(jìn)程的調度策略
sched_rr_get_interval取得按RR算法調度的實(shí)時(shí)進(jìn)程的時(shí)間片長(cháng)度
sched_setparam設置進(jìn)程的調度參數
sched_setscheduler設置指定進(jìn)程的調度策略和參數
sched_yield進(jìn)程主動(dòng)讓出處理器,并將自己等候調度隊列隊尾
vfork創(chuàng )建一個(gè)子進(jìn)程,以供執行新程序,常與execve等同時(shí)使用
wait等待子進(jìn)程終止
wait3參見(jiàn)wait
waitpid等待指定子進(jìn)程終止
wait4參見(jiàn)waitpid
capget獲取進(jìn)程權限
capset設置進(jìn)程權限
getsid獲取會(huì )晤標識號
setsid設置會(huì )晤標識號






回頁(yè)首


二、文件系統控制

1、文件讀寫(xiě)操作

fcntl文件控制
open打開(kāi)文件
creat創(chuàng )建新文件
close關(guān)閉文件描述字
read讀文件
write寫(xiě)文件
readv從文件讀入數據到緩沖數組中
writev將緩沖數組里的數據寫(xiě)入文件
pread對文件隨機讀
pwrite對文件隨機寫(xiě)
lseek移動(dòng)文件指針
_llseek在64位地址空間里移動(dòng)文件指針
dup復制已打開(kāi)的文件描述字
dup2按指定條件復制文件描述字
flock文件加/解鎖
pollI/O多路轉換
truncate截斷文件
ftruncate參見(jiàn)truncate
umask設置文件權限掩碼
fsync把文件在內存中的部分寫(xiě)回磁盤(pán)


2、文件系統操作

access確定文件的可存取性
chdir改變當前工作目錄
fchdir參見(jiàn)chdir
chmod改變文件方式
fchmod參見(jiàn)chmod
chown改變文件的屬主或用戶(hù)組
fchown參見(jiàn)chown
lchown參見(jiàn)chown
chroot改變根目錄
stat取文件狀態(tài)信息
lstat參見(jiàn)stat
fstat參見(jiàn)stat
statfs取文件系統信息
fstatfs參見(jiàn)statfs
readdir讀取目錄項
getdents讀取目錄項
mkdir創(chuàng )建目錄
mknod創(chuàng )建索引節點(diǎn)
rmdir刪除目錄
rename文件改名
link創(chuàng )建鏈接
symlink創(chuàng )建符號鏈接
unlink刪除鏈接
readlink讀符號鏈接的值
mount安裝文件系統
umount卸下文件系統
ustat取文件系統信息
utime改變文件的訪(fǎng)問(wèn)修改時(shí)間
utimes參見(jiàn)utime
quotactl控制磁盤(pán)配額






回頁(yè)首


三、系統控制

ioctlI/O總控制函數
_sysctl讀/寫(xiě)系統參數
acct啟用或禁止進(jìn)程記賬
getrlimit獲取系統資源上限
setrlimit設置系統資源上限
getrusage獲取系統資源使用情況
uselib選擇要使用的二進(jìn)制函數庫
ioperm設置端口I/O權限
iopl改變進(jìn)程I/O權限級別
outb低級端口操作
reboot重新啟動(dòng)
swapon打開(kāi)交換文件和設備
swapoff關(guān)閉交換文件和設備
bdflush控制bdflush守護進(jìn)程
sysfs取核心支持的文件系統類(lèi)型
sysinfo取得系統信息
adjtimex調整系統時(shí)鐘
alarm設置進(jìn)程的鬧鐘
getitimer獲取計時(shí)器值
setitimer設置計時(shí)器值
gettimeofday取時(shí)間和時(shí)區
settimeofday設置時(shí)間和時(shí)區
stime設置系統日期和時(shí)間
time取得系統時(shí)間
times取進(jìn)程運行時(shí)間
uname獲取當前UNIX系統的名稱(chēng)、版本和主機等信息
vhangup掛起當前終端
nfsservctl對NFS守護進(jìn)程進(jìn)行控制
vm86進(jìn)入模擬8086模式
create_module創(chuàng )建可裝載的模塊項
delete_module刪除可裝載的模塊項
init_module初始化模塊
query_module查詢(xún)模塊信息
*get_kernel_syms取得核心符號,已被query_module代替






回頁(yè)首


四、內存管理

brk改變數據段空間的分配
sbrk參見(jiàn)brk
mlock內存頁(yè)面加鎖
munlock內存頁(yè)面解鎖
mlockall調用進(jìn)程所有內存頁(yè)面加鎖
munlockall調用進(jìn)程所有內存頁(yè)面解鎖
mmap映射虛擬內存頁(yè)
munmap去除內存頁(yè)映射
mremap重新映射虛擬內存地址
msync將映射內存中的數據寫(xiě)回磁盤(pán)
mprotect設置內存映像保護
getpagesize獲取頁(yè)面大小
sync將內存緩沖區數據寫(xiě)回硬盤(pán)
cacheflush將指定緩沖區中的內容寫(xiě)回磁盤(pán)






回頁(yè)首


五、網(wǎng)絡(luò )管理

getdomainname取域名
setdomainname設置域名
gethostid獲取主機標識號
sethostid設置主機標識號
gethostname獲取本主機名稱(chēng)
sethostname設置主機名稱(chēng)






回頁(yè)首


六、socket控制

socketcallsocket系統調用
socket建立socket
bind綁定socket到端口
connect連接遠程主機
accept響應socket連接請求
send通過(guò)socket發(fā)送信息
sendto發(fā)送UDP信息
sendmsg參見(jiàn)send
recv通過(guò)socket接收信息
recvfrom接收UDP信息
recvmsg參見(jiàn)recv
listen監聽(tīng)socket端口
select對多路同步I/O進(jìn)行輪詢(xún)
shutdown關(guān)閉socket上的連接
getsockname取得本地socket名字
getpeername獲取通信對方的socket名字
getsockopt取端口設置
setsockopt設置端口參數
sendfile在文件或端口間傳輸數據
socketpair創(chuàng )建一對已聯(lián)接的無(wú)名socket






回頁(yè)首


七、用戶(hù)管理

getuid獲取用戶(hù)標識號
setuid設置用戶(hù)標志號
getgid獲取組標識號
setgid設置組標志號
getegid獲取有效組標識號
setegid設置有效組標識號
geteuid獲取有效用戶(hù)標識號
seteuid設置有效用戶(hù)標識號
setregid分別設置真實(shí)和有效的的組標識號
setreuid分別設置真實(shí)和有效的用戶(hù)標識號
getresgid分別獲取真實(shí)的,有效的和保存過(guò)的組標識號
setresgid分別設置真實(shí)的,有效的和保存過(guò)的組標識號
getresuid分別獲取真實(shí)的,有效的和保存過(guò)的用戶(hù)標識號
setresuid分別設置真實(shí)的,有效的和保存過(guò)的用戶(hù)標識號
setfsgid設置文件系統檢查時(shí)使用的組標識號
setfsuid設置文件系統檢查時(shí)使用的用戶(hù)標識號
getgroups獲取后補組標志清單
setgroups設置后補組標志清單






回頁(yè)首


八、進(jìn)程間通信

ipc進(jìn)程間通信總控制調用


1、信號

sigaction設置對指定信號的處理方法
sigprocmask根據參數對信號集中的信號執行阻塞/解除阻塞等操作
sigpending為指定的被阻塞信號設置隊列
sigsuspend掛起進(jìn)程等待特定信號
signal參見(jiàn)signal
kill向進(jìn)程或進(jìn)程組發(fā)信號
*sigblock向被阻塞信號掩碼中添加信號,已被sigprocmask代替
*siggetmask取得現有阻塞信號掩碼,已被sigprocmask代替
*sigsetmask用給定信號掩碼替換現有阻塞信號掩碼,已被sigprocmask代替
*sigmask將給定的信號轉化為掩碼,已被sigprocmask代替
*sigpause作用同sigsuspend,已被sigsuspend代替
sigvec為兼容BSD而設的信號處理函數,作用類(lèi)似sigaction
ssetmaskANSI C的信號處理函數,作用類(lèi)似sigaction


2、消息

msgctl消息控制操作
msgget獲取消息隊列
msgsnd發(fā)消息
msgrcv取消息


3、管道

pipe創(chuàng )建管道


4、信號量

semctl信號量控制
semget獲取一組信號量
semop信號量操作


5、共享內存

shmctl控制共享內存
shmget獲取共享內存
shmat連接共享內存
shmdt拆卸共享內存
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>