Linux程序管理

2021-09-25 21:41:54 字數 1678 閱讀 9679

介紹程序前,我們先來理解一下linux的虛擬記憶體

虛擬記憶體(32位)

(一)程序的狀態

(二)建立程序

(三)僵程序

wait/waitpid兩個函式的區別是:

(四)孤兒程序

(五)程序原語

前面已經介紹了其中的兩種接下來介紹exec族,那麼什麼是exec族?有什麼作用?

舉乙個例子

#include #include #include #include int main(void)

執行結果

正常情況程式乙個是列印完hello world 任何再列印hello man再退出,但是該程式執行完hello world後並沒有執行hello man,這是因為執行了execl函式,該函式直接將接下來的**變成執行『ls -l』的linux指令,然後結束程式

*呼叫的例項

char *const ps_ar** =;

char *const ps_envp =;

execl("/bin/ps", "ps", "-o", "pid,ppid,pgrp,session,tpgid,comm", null);

execv("/bin/ps", ps_ar**);

execle("/bin/ps", "ps", "-o", "pid,ppid,pgrp,session,tpgid,comm", null, ps_envp);

execve("/bin/ps", ps_ar**, ps_envp);

execlp("ps", "ps", "-o", "pid,ppid,pgrp,session,tpgid,comm", null);

execvp("ps", ps_ar**);

其中null為哨兵,標誌著引數結尾

注意

LINUX程序管理

1.程序是什麼?乙個程序就是出於執行期的程式,包括 可執行程式 段 開啟的檔案,掛起的訊號,核心內部資料,處理器狀態,位址空間,乙個或多個執行執行緒,當然還包括用來存放全域性變數的資料段,等等.2.什麼是執行緒?它和程序的關係是什麼樣的?執行緒在linux中具體是怎麼樣實現的?是在程序中活動的物件,...

linux程序管理

程序的監控 使用ps aux 檢視當前所有程序。可以使用top檢視當前程序自動更新列表,在top中m 按記憶體大小排列,p 按cpu佔用率排列 終止和管理程序 程序之間通過訊號來進行通訊 top和kill都用於向程序傳送訊號。kill l顯示訊號編號表。kill 9 pid kill pid 向pi...

Linux 程序管理

1.linux程序管理工具,包括ps pgrep top kill killall pkill 等 常用 ps aux 或lax輸出的解釋 user 程序的屬主 pid 程序的id ppid 父程序 cpu 程序占用的cpu百分比 mem 占用記憶體的百分比 ni 程序的nice值,數值大,表示較少...