Unix系統中system函式的返回值

2022-03-19 11:29:41 字數 567 閱讀 6282

網上關於system函式的返回值說明很多很詳細但卻不直觀,這裡搬出apue 3rd editon中實現system函式的**來說明其返回值。

#include #include #include int system(const char *cmdstring)

else if (pid == 0) else }}

return(status);

}

其中waitpid函式將子程序函式的返回值儲存於status變數中作為最後返回,該返回值又若干位組成不同位代表不同的退出狀態,子程序返回可能是正常返回,可能是abort,可能是產生core檔案....

我們可以在標頭檔案中找到若干巨集定義來定位子程序的退出狀態。

#include "apue.h"

#include void

pr_exit(int status)

《UNIX環境高階程式設計》(system)

system函式主要用於執行shell命令 system有三個返回值 因為system函式的實現是通過呼叫fork exec waitpid 使用system而不是直接使用fork和exec的優點是 system進行了所需的各種出錯處理,以及各種訊號處理 如果乙個程序正以特殊的許可權 設定使用者id...

LINUX中system()函式詳解

相關函式 fork,execve,waitpid,popen 表頭檔案 include 定義函式 int system const char string 函式說明 system 會呼叫fork 產生子程序,由子程序來呼叫 bin sh c string來執行引數string字串所代表的命令,此命 ...

C中的system函式

windows作業系統下system 函式詳解 主要是在c語言中的應用 函式名 system 功 能 發出乙個dos命令 用 法 int system char command system函式已經被收錄在標準c庫中,可以直接呼叫 程式例 include include int main void ...