exec
資料型別說明標頭檔案
pid_t
一般為int,見這裡
fork(包括各種變體)是unix中派生新程序的唯一方法。
父程序呼叫fork之前開啟的所有描述符(fd)在fork之後由子程序共享。網路伺服器利用了這個特性:父程序呼叫accept後呼叫fork,所接受的已連線套接字隨後就在父程序與子程序之間共享;通常,子程序繼續讀寫該已連線套接字,父程序則關閉該已連線套接字(套接字描述符引用計數-1)
放在硬碟上的可執行程式檔案能被unix執行的唯一方法:由乙個現有程序呼叫六個exec函式中的某乙個。exec將當前程序映像替換為新的程式檔案,而且該新程式通常從main函式開始執行,該程序id不變。(呼叫exec的程序被稱為呼叫程序;新執行的程式被稱為新程式。)
待執行的程式檔案是由檔名(file)還是路徑名(pathname)指定;
新程式的引數是一一列出還是由乙個指標陣列來引用;
把呼叫程序的環境傳遞給新程序還是給新程式指定環境。
返回值:
程序在呼叫exec之前開啟的描述符通常跨exec繼續保持開啟。但是該預設行為可以通過fcntl設定fd_cloexec。
UNIX網路程式設計
在unix network programming 的 3.7 inet pton and inet ntop functions 中提到中有如下兩個巨集定義 define inet addrstrlen 16 for ipv4 dotted decimal define inet6 addrstr...
unix網路程式設計
任何tcp的實現都需要為msl選擇乙個合適的值,rfc的建議值是2分鐘。分組可能出現迷途,若迷途分組在msl中找到路,造成重複,tcp必須修復 time wait存在的理由 可靠的實現全雙工的連線和終止 考慮最終ack丟失的情況,允許老的重複分組在網路中消逝 tcp的化生身現象,因為time wai...
unix 網路程式設計 UDP
udp user datagram protocol 程式傳送資料給 udp socket,資料先被封裝成 udp資料報,然後又被封裝成ip資料報,然後被傳送到目標方。資料是否被正確傳輸無任何保證 是否到達目標方,是否按正確順序到達,是否目標方只收到乙份資料 每個udp資料報都有長度,這個長度包含在...