Linux 程序基礎

2021-09-08 01:27:20 字數 1349 閱讀 3638

傳統的linux模型裡有三種建立或者修改程序的操作

--system用於呼叫shell,執行乙個指定的命令;

--fork用於建立乙個新的程序,該程序幾乎是當前程序的乙個完全拷貝;

--exec可以在程序中用另外的程式來替換當前執行的程序。

程序

程序是乙個正在執行的程式例項,他也是linux基本的排程單位,乙個程序由如下元素組成

--程序的當前上下文(context),他是程序當前執行狀態;

--程序的當前執行目錄;

--程序訪問的檔案和目錄;

--程式的訪問許可權;

--記憶體和其他分配給程序的系統資源;

程序標識號

--程序最知名的屬性就是程序號(processid,pid)和它父程序號(parent processid,ppid).

--pid和ppid都是非零的整數

--乙個pid唯一標識乙個程序。

--乙個程序建立的另乙個新程序稱為子程序。相反的,建立子程序的程序稱為父程序。

--所有程序追溯其祖先最終都會落到程序號為1的程序身上,這個程序叫init程序

-init程序是linux核心啟動後第乙個執行的程式。

-init引導系統,啟動守護程序並且執行必要的程式。

獲取pid和ppid

pid_t getpid(

void

);pid_t getppid(

void);

#include #include 

#include

#include

#include

#include

int main(int arg, char *args)

getlogin函式返回執行程式的使用者登入名。

可以把登入名作為引數傳遞給getpwnam函式,這個函式能返回/etc/passwd檔案中與該登入名相應的一行完成資訊。

struct passwd *getpwnam(const

char *name);

name必須是乙個指向包含使用者名稱的字串指標。

getpwnam返回乙個指向passwd結構體的指標。

struct

passwd ;

#include #include 

#include

#include

#include

#include

#include

int main(int arg, char *args)

Linux程序基礎

linux程序概述 程序控制塊 pcb,程序控制塊包含了程序的描述資訊 控制資訊以及資源資訊,它是程序的乙個靜態描述。核心使用程序來控制對cpu和其他系統資源的訪問,並且使用程序來決定在cpu上執行哪個程式,執行多久以及採用什麼特性執行它,核心的排程器負責在所有的程序間分配cpu執行時間,稱為時間片...

Linux 程序基礎

程序是程式執行時的乙個例項,可以分配給處理器並由處理器執行的乙個實體,由單一順序的執行顯示,是當前狀態和相關系統資源描述的活動單元。程序優先順序 可執行程式是指令和資料的集合,作為一種資料資料長期存在,是乙個靜態概念。而程序是可執行程式的一次執行過程,是有生命期,是暫時的,是乙個動態概念。所以同乙個...

Linux守護程序基礎

1 守護程序中涉及到的基本概念 1.1程序組 1.1.1 程序組基本概念 程序組是乙個或多個程序的集合,可以接收來自同乙個終端的各種訊號。每執行乙個程式或是命令都將產生乙個程序組。每個程序屬於乙個程序組,而每個程序組都存在乙個領頭程序 或是叫組長程序 一般程序組的第乙個程序是領頭程序。領頭程序可以建...