国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux 編程之進程fork()詳解及實例

2019-10-26 18:51:30
字體:
來源:轉載
供稿:網友

Linux fork()詳解:

在開始之前,我們先來了解一些基本的概念:

1. 程序, 沒有在運行的可執行文件  

   進程,  運行中的程序   

2. 進程調度的方法:  

    按時間片輪轉  
    先來先服務 
    短時間優先 
    按優先級別   

3. 進程的狀態:       

        就緒   ->>   運行  ->> 等待 
        運行 ->> 就緒 //時間片完了 
        等待 ->> 就緒 //等待的條件完成了   

查看當前系統進程的狀態 ps auxf 

status: 

D    Uninterruptible sleep (usually IO) 
R    Running or runnable (on run queue) 
S    Interruptible sleep (waiting for an event to complete) 
T    Stopped, either by a job control signal or because it is being traced. 
W    paging (not valid since the 2.6.xx kernel) 
X    dead (should never be seen) 
Z    Defunct ("zombie") process, terminated but not reaped by its parent. 
<    high-priority (not nice to other users) 
N    low-priority (nice to other users) 
L    has pages locked into memory (for real-time and custom IO) 
s    is a session leader 
l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) 
+    is in the foreground process group   

4. 父進程/子進程 , 讓一個程序運行起來的進程就叫父進程, 被調用的進程叫子進程   

5. getpid //獲取當前進程的進程號 
   getppid //獲取當前進程的父進程號   

6. fork //創建一個子進程,創建出來的子進程是父進程的一個副本, 除了進程號,父進程號不同。  

    子進程從fork()后開始運行, 它得到的fork返回值為0 
    父進程得到的返回值為子進程的進程號 
    返回值為-1時, 創建失敗

來看一個程序:

#include <stdio.h> #include <unistd.h>  int main(void) {   pid_t pid ;    //printf("hello world /n");    //從fork開始就已經產生子進程   pid = fork();  //就已經產生新的4G空間,復制空間   //創建出來的子進程是父進程的一個副本,除了進程號,父進程號和子進程號不同   //printf("hello kitty/n");   if(pid == 0)     {     //子進程運行區      printf("child curpid:%d parentpid:%d /n" , getpid() , getppid());     return 0 ;    }    //父進程運行區   printf("parent curpid:%d parentpid:%d /n" , getpid() , getppid());    return 0 ;  }             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大英县| 新安县| 大竹县| 安远县| 武汉市| 错那县| 扎兰屯市| 平乐县| 涟水县| 苏尼特右旗| 施秉县| 涿鹿县| 锡林郭勒盟| 阿拉尔市| 林口县| 蓬莱市| 瓦房店市| 松江区| 方山县| 凤冈县| 泗水县| 陆丰市| 余干县| 阳高县| 商城县| 元江| 盐源县| 融水| 花莲县| 鄂伦春自治旗| 东山县| 辽宁省| 西吉县| 巴中市| 石首市| 西林县| 永仁县| 乐平市| 亳州市| 台北县| 嵊州市|