日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux应用之----进程控制理论

發布時間:2023/12/15 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux应用之----进程控制理论 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

進程理論基礎

進程的定義:進程是一個具有特定功能的程序的一次運行活動。它和程序的區別在于:程序是存儲在硬盤上的,是靜態的;而進程是程序的執行。

進程特點:動態性?,并發性?,獨立性?,?異步性?。

進程三態:就緒態,執行態,阻塞態。

進程的標識:用進程ID號來區分不同的進程。進程ID用PID表示,父進程ID用PPID表示,用戶ID用UID表示。

進程互斥:是指當多個進程都要使用某一共享資源時,任何時刻做多允許一個進程使用,其它要使用該資源的進程必須要等待,直到占有該資源的進程結束為止。

臨界資源:操作系統講一次只允許一個進程訪問的資源稱為臨界資源。

臨界區:程序中,訪問臨界資源的那段代碼稱為臨界區。

進程同步:一組并發進程按一定色順序執行的過程稱為進程的同步。具有同步關系的一組進程稱為合作進程,合作進程之間互相發送的信號稱為消息或事件。

進程調度:按一定的算法,從一組待運行的進程中選出一個來占用CPU。調度方式有搶占式和非搶占式兩種。調度的算法有:先來先服務調度算法;短進程優先調度算法;高優先級優先調度算法;時間片輪轉法。

死鎖:多個進程因競爭資源而導致的一種僵局,若無外力作用,這些進程都將永遠不能向前推進。

進程控制編程

1:獲取ID

???????#include<sys/types.h>

??????#include<unistd.h>

???????pid_t?getpid(void);????//獲取當前運行的進程的ID號

???????pid_t?getppid(void);???//獲取當前運行進程的父進程的ID號。

2:?fork?函數

????????????????int???fork()

1)?返回值-1,出錯。

2)?返回值?0,表示子進程

3)?否則為?父進程,且該返回值是子進程的pid。

????3?:vfock?函數

????????????????int??vfork()

1)?返回值-1,出錯。

2)?返回值?0,表示子進程

3)?否則為?父進程,且該返回值是子進程的pid

4)?vfork?與?fork?區別:vfork必定是子進程先執行完,父進程再執行,fork則不一定;vfork中子進程與父進程共用數據段,所以變量之間相互影響,fork函數從父進程拷貝了一段數據段,所以不會有影響。

4:?wait(null)與waitpid(pid,null,0)函數。

頭文件為?#include?<sys/types.h>?和?#include<sys/wait.h>

????用于阻塞一個進程。如果是wait,那么只有當該進程的某個子進程退出以后,它才會繼續執行。而waitpid則指定了子進程的ID,只有這個指定ID的子進程結束了,它才會繼續執行。

????5:?exec函數族

exec用指定的程序替換調用它的程序。和fork的區別:fork是產生了一個新的進程,新進程的ID號是新的。而exec是替換進程,并且替換之后,進程的ID號不會變。

#include?<unistd.h>

execl("bin/ls","ls","-l","etc/password",char?*0);

execlp("ls","ls","-l","etc/password",char?*0);

以上兩個函數,它們的第一個參數為被執行的程序名。所不同的是exexl必須有完整的路徑名稱。而execlp則不需要完整的路徑名稱,它會到系統的path路徑去尋找。后面的參數就是執行這個命令所需要的參數。最后一個參數以空指針結尾。

execv("bin/ls",argv);?其中char?*argv[]={"ls","-l","etc/password",char?*0};也就是說execv把execl后面的參數以及最后的空指針都用一個字符串數組給代替了。


總結

以上是生活随笔為你收集整理的linux应用之----进程控制理论的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。