Linux下程序的相關函式和指令

2021-10-08 18:11:46 字數 1692 閱讀 4451

指令

ps —— 檢視系統中有哪些程序

ps -aux —— 檢視系統中全部程序

ps -aux|grep a —— 查詢a程序

top —— 任務管理器介面

getpid函式

獲取當前程序的程式識別符號

#include #include pid_t getpid(void); ——獲取程序的程序識別符號 

pid_t getppid(void);——獲取父程序的程序識別符號

fork函式

從fork()函式開始建立乙個程序同原程序一同執行後續指令

#include #include pid_t fork(void); —— 建立子程序
fork函式一次呼叫,兩次返回

fork() 函式屬於父程序將後續**拷貝乙份給子程序,兩程序的資料不互相影響並且同時執行

vfork() 函式子程序直接使用父程序儲存空間,不拷貝,同時保證子程序先執行並退出後,父程序才執行。

wait函式

父程序等待子程序退出,並收集子程序退出狀態

#include #include pid_t wait(int *wstatus);
若子程序比父程序先結束,而父程序未呼叫wait()函式收集子程序狀態,則子程序變為殭屍程序

若父程序比子程序先結束,子程序變為孤兒程序,將由init(pid = 1)來收留

使用wexitstatus()來解析通過wait()得到的子程序傳回來的狀態

exec函式

在程序中呼叫可執行檔案,呼叫成功後不執行後續程序

#include int execl(const char *path, const char *arg, const char *arg...  /* (char  *) null */);
如 execl("/bin/ls",「ls」,"-l",null);

perror()函式:檢視錯誤原因

system函式

在程序中呼叫可執行檔案,呼叫成功後繼續執行後續程序

#include int system(const char *command);
popen函式

呼叫可執行檔案,並可以記錄下呼叫的資料

#include file *popen(const char *command, const char *type);

配合使用fread()函式可將執行的資料記錄下來,如下

char ret[1024] = ;

file *fp;

fp = popen("ps","r");

fread(ret,1,1024,fp);

Linux下程序相關函式介面

pid t fork void 功能 建立乙個子程序。引數 無。返回值 成功 在父程序空間返回子程序的pid,在子程序空間返回0 失敗 1,沒有子程序被建立。void exit int status 功能 結束當前程序。返回值 無,一旦呼叫永不返回。引數 int status,使用者期望帶回的狀態值...

LINUX程序相關的幾個函式

linux程序相關的幾個函式 1.pid t fork void 返回值 若成功呼叫一次則返回兩個值,子程序返回0,父程序返回子程序id 否則,出錯返回 1 2.exit 0 就是退出,傳入的引數是程式退出時的狀態碼,0表示正常退出,其他表示非正常退出,一般都用 1或者1,標準c裡有exit suc...

linux 程序管理相關函式

對於linux 函式可以通過命令列指令 man 函式名,檢視函式相關資訊 返回當前程序的pid getpid 建立乙個程序,當執行完這行 後,將會有兩個進製執行下面的 不同的是,父程序pid大於0,子程序pid 0 同時執行 fork 和fork 類似 但是這裡子程序先執行,結束後,執行父程序 vf...