国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

wordpress用戶名忘記密碼廣州seo站內(nèi)優(yōu)化

wordpress用戶名忘記密碼,廣州seo站內(nèi)優(yōu)化,武漢專業(yè)網(wǎng)站建設(shè),池州哪里做網(wǎng)站什么是進(jìn)程 什么是程序 一組可以被計算機(jī)直接識別的 有序 指令 的集合。 通俗講:C語言編譯后生成的可執(zhí)行文件就是一個程序。 那么程序是靜態(tài)還是動態(tài)的? 程序是可以被存儲在磁盤上的,所以程序是靜態(tài)的。 那什么是進(jìn)程 進(jìn)程是程序的執(zhí)行過…

什么是進(jìn)程
什么是程序
一組可以被計算機(jī)直接識別的 有序 指令 的集合。
通俗講:C語言編譯后生成的可執(zhí)行文件就是一個程序。

那么程序是靜態(tài)還是動態(tài)的?
程序是可以被存儲在磁盤上的,所以程序是靜態(tài)的。

那什么是進(jìn)程

進(jìn)程是程序的執(zhí)行過程,是動態(tài)的,隨著程序的使用被創(chuàng)建,隨著程序的結(jié)束而消亡。
可以說進(jìn)程是一個獨(dú)立的可調(diào)度的任務(wù)。
進(jìn)程是系統(tǒng)調(diào)度的獨(dú)立任務(wù)。
進(jìn)程是程序執(zhí)行的獨(dú)立任務(wù)。
進(jìn)程是資源(內(nèi)存資源)管理的最小任務(wù)。
一個程序可以只有一個進(jìn)程,此時正在運(yùn)行的這個程序也叫進(jìn)程。
一個程序也可以有多個進(jìn)程,此時正在運(yùn)行的這個程序有多個進(jìn)程動態(tài)執(zhí)行。
所以說進(jìn)程可以是程序,但程序不一定是進(jìn)程。

注意:每一個程序運(yùn)行時,操作系統(tǒng)分配給進(jìn)程的 是虛擬內(nèi)存,意味著每一個進(jìn)程所使用的空間都是虛擬內(nèi)存, 虛擬內(nèi)存會被單元管理模塊(MMU)映射到物理內(nèi)存上,如何映射是操作系統(tǒng)關(guān)心的事情,程序開發(fā)者不用關(guān)心。

時間片
進(jìn)程有多個,而CPU只有一個,假設(shè)該CPU是單核的,那么在某一時刻CPU只能處理一個進(jìn)程,但是不能一直去處理這個進(jìn)程,得多個進(jìn)程之間輪流處理,給用戶感覺這些進(jìn)程在同時進(jìn)行,而CPU處理一個進(jìn)程的時間段即時間片。時間片是約定好CPU處理一個進(jìn)程的時間段。

進(jìn)程的類型

交互進(jìn)程:完成人機(jī)交互的進(jìn)程,比如shell
批處理進(jìn)程:比如gcc的四步流程
守護(hù)進(jìn)程:開機(jī)自啟動,關(guān)機(jī)自動關(guān)閉(后臺運(yùn)行)
進(jìn)程的狀態(tài)

就緒狀態(tài):具備運(yùn)行條件,等待處理器運(yùn)行的進(jìn)程。
當(dāng)進(jìn)程已分配到除CPU以外的所有必要資源后,只要再獲得CPU,便可立即執(zhí)行,進(jìn)程這時的狀態(tài)稱為就緒狀態(tài)。在一個系統(tǒng)中處于就緒狀態(tài)的進(jìn)程可能有多個,通常將它們排成一個隊(duì)列,稱為就緒隊(duì)列。
運(yùn)行狀態(tài):處理器正在運(yùn)行的進(jìn)程。
等待狀態(tài):又稱阻塞態(tài)或睡眠態(tài),指進(jìn)程不具備運(yùn)行條件,正在等待某個時間完成的狀態(tài)。
也稱為等待或睡眠狀態(tài),一個進(jìn)程正在等待某一事件發(fā)生(例如請求I/O而等待I/O完成等)而暫時停止運(yùn)行,這時即使把處理機(jī)分配給進(jìn)程也無法運(yùn)行,故稱該進(jìn)程處于阻塞狀態(tài)。
死亡狀態(tài):運(yùn)行結(jié)束的進(jìn)程。
進(jìn)程的模式

終端:內(nèi)核發(fā)送的信號。
系統(tǒng)調(diào)用:調(diào)用操作系統(tǒng)提供給用戶來訪問硬件的一組接口。

進(jìn)程三態(tài)模型
運(yùn)行態(tài)→等待態(tài):等待使用資源;如等待外設(shè)傳輸;等待人工干預(yù)。
等待態(tài)→就緒態(tài):資源得到滿足;如外設(shè)傳輸結(jié)束;人工干預(yù)完成。
運(yùn)行態(tài)→就緒態(tài):運(yùn)行時間片到;出現(xiàn)有更高優(yōu)先權(quán)進(jìn)程。
就緒態(tài)—→運(yùn)行態(tài):CPU 空閑時選擇一個就緒進(jìn)程。

?

孤兒進(jìn)程
指父進(jìn)程先于子進(jìn)程退出,此時子進(jìn)程稱為孤兒進(jìn)程。但是該進(jìn)程會被pid為1的init進(jìn)程收養(yǎng)。

僵尸進(jìn)程
指子進(jìn)程先于父進(jìn)程退出并且沒有被父進(jìn)程回收子進(jìn)程的資源。此時子進(jìn)程就會變成僵尸進(jìn)程。僵尸進(jìn)程會造成浪費(fèi)空間、資源泄露等問題。

進(jìn)程的相關(guān)系統(tǒng)調(diào)用

?

創(chuàng)建進(jìn)程

  1. 每個進(jìn)程都由父進(jìn)程創(chuàng)建。
  2. 通過系統(tǒng)調(diào)用函數(shù) fork() 實(shí)現(xiàn)進(jìn)程創(chuàng)建。

fork()

頭文件:<sys/types.h> <unistd.h>
函數(shù)原型:pid_t fork();
返回值:PID,進(jìn)程ID號。返回 0 表示子進(jìn)程,返回-1失敗,返回大于0的整數(shù)表示創(chuàng)建進(jìn)程的PID。
可以通過getpid()來獲取當(dāng)前運(yùn)行的進(jìn)程ID,通過getppid()獲取當(dāng)前進(jìn)程的父進(jìn)程ID。

?

wait()

頭文件:<sys/wait.h><sys/types.h>
函數(shù)原型:pid_t wait(int* status) status為空時表示忽略子進(jìn)程退出時的狀態(tài),不為空表示保存子進(jìn)程退出時的狀態(tài)。
返回值:成功返回子進(jìn)程的PID,失敗返回-1
使進(jìn)程進(jìn)入阻塞狀態(tài)。
直到任意子進(jìn)程結(jié)束或者該進(jìn)程接收到信號為止。
如果該進(jìn)程沒有子進(jìn)程,或子進(jìn)程已經(jīng)結(jié)束。wait()會立即返回。
此函數(shù)時進(jìn)程阻塞時父進(jìn)程什么也不干。
該函數(shù)可以獲取子進(jìn)程終止使的退出狀態(tài)。

?

waitpid()

函數(shù)原型:pid_t waitpid(pid_t pid, int *status, int options)

入?yún)?#xff1a;pid

pid 傳-1時 等待任意子進(jìn)程與wait功能一樣。
pid 傳0時 等待其組ID等于調(diào)用進(jìn)程的組ID的任意子進(jìn)程。
pid 傳 小于-1時 等待其組ID等于PID的絕對值的任意子進(jìn)程。
入?yún)?#xff1a;status 同wait

status 通過WIFEXITED宏來測驗(yàn) 子進(jìn)程正常退出返回true,否則返回false

?

status 通過WEXITSTATUS宏 來查看退出狀態(tài)值。?

?

return exit() _exit() 在WIFEXITED看來都算正常退出

入?yún)?#xff1a;options

傳0 同wait 阻塞父進(jìn)程
傳WNOHANG:若由PID指定的子進(jìn)程并不立即可用,則waitpid不會被阻塞,此時返回值為0,子進(jìn)程結(jié)束時返回子進(jìn)程PID
返回值:正常返回結(jié)束的子進(jìn)程PID,-1失敗,

功能與wait類似。

可以指定等待某個子進(jìn)程以及等待方式(阻塞或非阻塞)

wait和waitpid都可以實(shí)現(xiàn)對子進(jìn)程資源的回收

exit(int status)
status:退出狀態(tài)。
使進(jìn)程終止,并清空緩沖區(qū)。

_exit(int status)
使進(jìn)程終止,但是不會清空緩沖區(qū)。

?Exec函數(shù)族

以exec開頭的一系列函數(shù)
該族函數(shù)提供了在一個進(jìn)程中執(zhí)行新的進(jìn)程
通過fork開啟的子進(jìn)程中擁有與父進(jìn)程相同的代碼,但是開辟了新的空間,這么做實(shí)際意義不大。所以exec族函數(shù)可以對fork創(chuàng)建的子進(jìn)程進(jìn)行代碼替換,只保留PID不變,這就實(shí)現(xiàn)了在一個進(jìn)程中產(chǎn)生了新的進(jìn)程。

?

參數(shù)意義
l(list)參數(shù)地址列表,以空指針結(jié)尾
v(vector)存有各參數(shù)地址的指針數(shù)組的地址
p(path)按 PATH 環(huán)境變量指定的目錄搜索可執(zhí)行文件
e(environment)存有環(huán)境變量字符串地址的指針數(shù)組的地址

守護(hù)進(jìn)程

  1. 運(yùn)行在后臺的進(jìn)程,與終端沒有任何關(guān)系。
  2. 開機(jī)自啟動,關(guān)機(jī)自關(guān)閉。

前臺進(jìn)程
和終端有關(guān)系的進(jìn)程

后臺進(jìn)程
與終端脫離關(guān)系。

變成后臺進(jìn)程的步驟

  1. 首先變成孤兒進(jìn)程。
  2. 讓自己成為新的進(jìn)程組組長。
  3. 讓自己成為新的會話組組長。
  4. 使控制終端tty變成 ‘?’ 才能完全脫離終端。

?

創(chuàng)建守護(hù)進(jìn)程的步驟

  1. 創(chuàng)建子進(jìn)程父進(jìn)程退出。(為了讓子進(jìn)程先被init收養(yǎng))

  2. 創(chuàng)建新的會話組。(通過setsid()函數(shù))讓自己成為新的會話組組長。

?此時守護(hù)進(jìn)程已經(jīng)創(chuàng)建,但是還需要優(yōu)化。再使用chdir()函數(shù)修改守護(hù)進(jìn)程的工作路徑。

重設(shè)文件掩碼。將文件掩碼設(shè)置為0可以增加守護(hù)進(jìn)程的靈活性?

關(guān)閉父進(jìn)程繼承過來的文件描述符。因?yàn)槭刈o(hù)進(jìn)程用不到這些資源,會造成資源浪費(fèi)。?

?

  1. getdtablesize()返回一個進(jìn)程可以打開的最大文件數(shù)

  2. 再到/etc/rc.local 文件中exit 0之前 將這個守護(hù)進(jìn)程的絕對路徑寫在這里。開機(jī)自啟動。

?

http://m.aloenet.com.cn/news/45488.html

相關(guān)文章:

  • 網(wǎng)站內(nèi)容建設(shè)的原則是什么意思整合營銷策略有哪些
  • 用老域名做網(wǎng)站還是新域名武漢seo首頁優(yōu)化技巧
  • ??谧鼍W(wǎng)站公司哪家好網(wǎng)頁快照
  • 網(wǎng)站工程師的職責(zé)網(wǎng)站推廣的6個方法是什么
  • url怎么做網(wǎng)站百度上海分公司
  • 網(wǎng)絡(luò)營銷推廣方案pdf站長工具seo綜合查詢
  • soho外貿(mào)建站拼多多seo 優(yōu)化軟件
  • 網(wǎng)站登錄不上怎么回事站長是什么職位
  • 電子工程網(wǎng)官方網(wǎng)站網(wǎng)址怎么注冊
  • 做搜狗網(wǎng)站優(yōu)化搜索數(shù)據(jù)
  • 網(wǎng)站域名設(shè)計推薦百度推廣培訓(xùn)班
  • 網(wǎng)站建設(shè)遠(yuǎn)程工作搜索引擎優(yōu)化方案
  • 網(wǎng)站建設(shè)前期預(yù)算端點(diǎn)seo博客
  • 物流企業(yè)網(wǎng)站有哪些百度網(wǎng)站優(yōu)化排名
  • 做公司網(wǎng)站 找誰做網(wǎng)絡(luò)營銷主要學(xué)什么
  • 做網(wǎng)站 信息集成過程的順序品牌營銷策略案例
  • UE做的比較好的網(wǎng)站軟文的概念是什么
  • 開獎網(wǎng)站怎么做營銷推廣網(wǎng)
  • 長春老火車站圖片如何宣傳推廣自己的產(chǎn)品
  • 用網(wǎng)站做淘客怎么做株洲seo優(yōu)化推薦
  • 房地產(chǎn)銷售自我介紹大兵seo博客
  • 淘寶網(wǎng)站是什么語言做的qq群推廣
  • 政府大型門戶網(wǎng)站建設(shè)方案seo專業(yè)培訓(xùn)班
  • 如何做旅游網(wǎng)站的旅行家網(wǎng)址推廣
  • 網(wǎng)站規(guī)劃書包括哪些方面公司官網(wǎng)怎么制作
  • 教務(wù)系統(tǒng)網(wǎng)站怎么做南寧網(wǎng)站seo外包
  • 中企動力制作的網(wǎng)站后臺怎樣搭建自己的網(wǎng)站
  • 做網(wǎng)站一個月30ip網(wǎng)絡(luò)推廣是網(wǎng)絡(luò)營銷的基礎(chǔ)
  • 做cpa能用什么網(wǎng)站seo怎么優(yōu)化簡述
  • 怎么創(chuàng)建網(wǎng)站論壇重慶seo公司