中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 常見的Linux系統(tǒng)調(diào)用

        常見的Linux系統(tǒng)調(diào)用

        作者: 時間:2011-02-25 來源:網(wǎng)絡(luò) 收藏
        本文列出了大部分常見的Linux系統(tǒng)調(diào)用,并附有簡要中文說明。

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

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

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

        一、進程控制:

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






        回頁首


        二、文件系統(tǒng)控制

        1、文件讀寫操作

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


        2、文件系統(tǒng)操作

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






        回頁首


        三、系統(tǒng)控制

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






        回頁首


        四、內(nèi)存管理

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






        回頁首


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

        getdomainname取域名
        setdomainname設(shè)置域名
        gethostid獲取主機標(biāo)識號
        sethostid設(shè)置主機標(biāo)識號
        gethostname獲取本主機名稱
        sethostname設(shè)置主機名稱






        回頁首


        六、socket控制

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






        回頁首


        七、用戶管理

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






        回頁首


        八、進程間通信

        ipc進程間通信總控制調(diào)用


        1、信號

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


        2、消息

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


        3、管道

        pipe創(chuàng)建管道


        4、信號量

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


        5、共享內(nèi)存

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


        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉