日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Linux程序設(shè)計入門 系統(tǒng)進(jìn)程的詳細(xì)介紹

瀏覽:312日期:2023-07-15 10:28:06

1、進(jìn)程的概念

Linux操作系統(tǒng)是面向多用戶的.在同一時間可以有許多用戶向操作系統(tǒng)發(fā)出各種命令.那么操作系統(tǒng)是怎么實現(xiàn)多用戶的環(huán)境呢? 在現(xiàn)代的操作系統(tǒng)里面,都有程序和進(jìn)程的概念.那么什么是程序,什么是進(jìn)程呢? 通俗的講程序是一個包含可以執(zhí)行代碼的文件,是一個靜態(tài)的文件.而進(jìn)程是一個開始執(zhí)行但是還沒有結(jié)束的程序的實例.就是可執(zhí)行文件的具體實現(xiàn). 一個程序可能有許多進(jìn)程,而每一個進(jìn)程又可以有許多子進(jìn)程.依次循環(huán)下去,而產(chǎn)生子孫進(jìn)程. 當(dāng)程序被系統(tǒng)調(diào)用到內(nèi)存以后,系統(tǒng)會給程序分配一定的資源(內(nèi)存,設(shè)備等等)然后進(jìn)行一系列的復(fù)雜操作,使程序變成進(jìn)程以供系統(tǒng)調(diào)用.在系統(tǒng)里面只

有進(jìn)程沒有程序,為了區(qū)分各個不同的進(jìn)程,系統(tǒng)給每一個進(jìn)程分配了一個ID(就象我們的身份證)以便識別. 為了充分的利用資源,系統(tǒng)還對進(jìn)程區(qū)分了不同的狀態(tài).將進(jìn)程分為新建,運(yùn)行,阻塞,就緒和完成五個狀態(tài). 新建表示進(jìn)程正在被創(chuàng)建,運(yùn)行是進(jìn)程正在運(yùn)行,阻塞是進(jìn)程正在等待某一個事件發(fā)生,就緒是表示系統(tǒng)正在等待CPU來執(zhí)行命令,而完成表示進(jìn)程已經(jīng)結(jié)束了系統(tǒng)正在回收資源. 關(guān)于進(jìn)程五個狀態(tài)的詳細(xì)解說我們可以看《操作系統(tǒng)》上面有詳細(xì)的解說。

2、進(jìn)程的標(biāo)志

上面我們知道了進(jìn)程都有一個ID,那么我們怎么得到進(jìn)程的ID呢?系統(tǒng)調(diào)用getpid可以得到進(jìn)程的ID,而getppid可以得到父進(jìn)程(創(chuàng)建調(diào)用該函數(shù)進(jìn)程的進(jìn)程)的ID.

#include <unistd> pid_t getpid(void); pid_t getppid(void);

進(jìn)程是為程序服務(wù)的,而程序是為了用戶服務(wù)的.系統(tǒng)為了找到進(jìn)程的用戶名,還為進(jìn)程和用戶建立聯(lián)系.這個用戶稱為進(jìn)程的所有者.相應(yīng)的每一個用戶也有一個用戶ID.通過系統(tǒng)調(diào)用getuid可以得到進(jìn)程的所有者的ID.由于進(jìn)程要用到一些資源,而Linux對系統(tǒng)資源是進(jìn)行保護(hù)的,為了獲取一定資源進(jìn)程還有一個有效用戶ID.這個ID和系統(tǒng)的資源使用有關(guān),涉及到進(jìn)程的權(quán)限. 通過系統(tǒng)調(diào)用geteuid我們可以得到進(jìn)程的有效用戶ID. 和用戶ID相對應(yīng)進(jìn)程還有一個組ID和有效組ID系統(tǒng)調(diào)用getgid和getegid可以分別得到組ID和有效組ID。

#include <unistd> #include <sys/types.h> uid_t getuid(void); uid_t geteuid(void); gid_t getgid(void); git_t getegid(void);

有時候我們還會對用戶的其他信息感興趣(登錄名等等),這個時候我們可以調(diào)用getpwui

d來得到。

struct passwd { char *pw_name; /* 登錄名稱 */ char *pw_passwd; /* 登錄口令 */ uid_t pw_uid; /* 用戶ID */ gid_t pw_gid; /* 用戶組ID */ char *pw_gecos; /* 用戶的真名 */ char *pw_dir; /* 用戶的目錄 */ char *pw_shell; /* 用戶的SHELL */ }; #include <pwd.h> #include <sys/types.h> struct passwd *getpwuid(uid_t uid);

下面我們學(xué)習(xí)一個實例來實踐一下上面我們所學(xué)習(xí)的幾個函數(shù):

#include <unistd.h> #include <pwd.h> #include <sys/types.h> #include <stdio.h> int main(int argc,char **argv) { pid_t my_pid,parent_pid; uid_t my_uid,my_euid; gid_t my_gid,my_egid; struct passwd *my_info; my_pid=getpid(); parent_pid=getppid(); my_uid=getuid(); my_euid=geteuid(); my_gid=getgid(); my_egid=getegid(); my_info=getpwuid(my_uid); printf('Process ID:%ld ',my_pid); printf('Parent ID:%ld ',parent_pid); printf('User ID:%ld ',my_uid); printf('Effective User ID:%ld ',my_euid); printf('Group ID:%ld ',my_gid); printf('Effective Group ID:%ld ',my_egid): if(my_info) { printf('My Login Name:%s ' ,my_info->pw_name); printf('My Password :%s ' ,my_info->pw_passwd); printf('My User ID :%ld ',my_info->pw_uid); printf('My Group ID :%ld ',my_info->pw_gid); printf('My Real Name:%s ' ,my_info->pw_gecos); printf('My Home Dir :%s ', my_info->pw_dir); printf('My Work Shell:%s ', my_info->pw_shell); } }

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

創(chuàng)建一個進(jìn)程的系統(tǒng)調(diào)用很簡單.我們只要調(diào)用fork函數(shù)就可以了.

#include <unistd.h> pid_t fork();

當(dāng)一個進(jìn)程調(diào)用了fork以后,系統(tǒng)會創(chuàng)建一個子進(jìn)程.這個子進(jìn)程和父進(jìn)程不同的地方只有他的進(jìn)程ID和父進(jìn)程ID,其他的都是一樣.就象符進(jìn)程克隆(clone)自己一樣.當(dāng)然創(chuàng)建兩個一模一樣的進(jìn)程是沒有意義的.為了區(qū)分父進(jìn)程和子進(jìn)程,我們必須跟蹤fork的返回值. 當(dāng)fork掉用失敗的時候(內(nèi)存不足或者是用戶的最大進(jìn)程數(shù)已到)fork返回-1,否則fork的返回值有重要的作用.對于父進(jìn)程fork返回子進(jìn)程的ID,而對于fork子進(jìn)程返回0.我們就是根據(jù)這個返回值來區(qū)分父子進(jìn)程的. 父進(jìn)程為什么要創(chuàng)建子進(jìn)程呢?前面我們已經(jīng)說過了Linux是一個多用戶操作系統(tǒng),在同一時間會有許多的用戶在爭奪系統(tǒng)的資源.有時進(jìn)程為了早一點完成任務(wù)就創(chuàng)建子進(jìn)程來爭奪資源. 一旦子進(jìn)程被創(chuàng)建,父子進(jìn)程一起從fork處繼續(xù)執(zhí)行,相互競爭系統(tǒng)的資源.有時候我們希望子進(jìn)程繼續(xù)執(zhí)行,而父進(jìn)程阻塞直到子進(jìn)程完成任務(wù).這個時候我們可以調(diào)用wait或者waitpid系統(tǒng)調(diào)用.

#include <sys/types.h> #include <sys/wait.h> pid_t wait(int *stat_loc); pid_t waitpid(pid_t pid,int *stat_loc,int options);

標(biāo)簽: Linux系統(tǒng)
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品s色| 亚洲啊v在线| 欧美精品影院| 国产精品亚洲产品| 中文在线а√天堂| 9色国产精品| 欧美影院精品| 免费美女久久99| 综合欧美精品| 成人在线视频区| 麻豆国产精品一区二区三区| 国产一区亚洲| 亚洲播播91| 国产精品视频一区二区三区综合 | 欧美国产三级| 女生影院久久| 91精品啪在线观看国产18| 亚洲欧美日本视频在线观看| 美女国产一区| 99精品在线免费在线观看| 亚洲中午字幕| 欧美一区二区三区久久精品| 天堂8中文在线最新版在线| 久久国产视频网| 久久国产亚洲| 91福利精品在线观看| 精品日韩毛片| 欧美日韩精品一区二区视频| 亚州av乱码久久精品蜜桃| 久久国内精品| 久久午夜精品| 精品三级av| 久久国产精品久久w女人spa| 激情欧美一区二区三区| 久久99久久久精品欧美| 午夜一级在线看亚洲| 国产精品白丝av嫩草影院| 亚洲深夜影院| 色婷婷久久久| 尤物tv在线精品| 91嫩草亚洲精品| 国产91在线播放精品| 久久xxxx精品视频| 国产精品网址| 99久久夜色精品国产亚洲狼| 影视先锋久久| 国产亚洲欧洲| 亚洲成人不卡| 国产欧美日韩在线一区二区| 国产精品欧美日韩一区| 日韩福利一区| 国产日韩欧美一区二区三区在线观看| 一区二区国产精品| 亚洲精品在线观看91| 国产在线观看91一区二区三区| 91精品国产91久久久久久黑人| 亚洲一区二区三区高清| 精品美女视频 | 麻豆久久精品| 国产一区丝袜| 欧美一区二区三区激情视频| 欧美日韩一区二区综合| 中文字幕日本一区| 欧美肉体xxxx裸体137大胆| 国产一区三区在线播放| 91成人网在线观看| 黄色成人91| 欧美亚洲三区| 日韩不卡一二三区| 久久只有精品| 久久裸体视频| 欧美视频一区| 亚洲91精品| 国产精品17p| 日韩一级欧洲| 韩国久久久久久| 国产精品v一区二区三区| 在线视频免费在线观看一区二区| 成人午夜网址| 国产精品资源| 男女男精品视频网| 久久中文亚洲字幕| 国语对白精品一区二区| 婷婷精品在线| 欧美久久久网站| 视频一区欧美日韩| 日韩一区二区三区免费播放| 日韩精品欧美大片| 美日韩精品视频| 婷婷综合网站| 亚洲v在线看| 中文在线а√天堂| 国产一区二区三区四区五区传媒| 国产精品亚洲欧美| 国产美女视频一区二区| 日韩一区二区三区精品视频第3页| 女人天堂亚洲aⅴ在线观看| 色在线中文字幕| 成人在线黄色| 亚洲三级精品| 一区二区三区国产盗摄| 国产精品视区| 亚洲韩日在线| 1024精品一区二区三区| 久久国产直播| 欧美肉体xxxx裸体137大胆| 日本欧美不卡| 日本不卡免费高清视频在线| 精品亚洲免a| 久久精品国产久精国产爱| 国产精品美女在线观看直播| 国产欧美亚洲一区| 国产精品玖玖玖在线资源| 欧美亚洲免费| 国产欧美日韩影院| 国产欧美高清| 嫩呦国产一区二区三区av| 欧美日韩调教| 国产精品天天看天天狠| 国产精品黄色片| 国产精品久久久久久久久久妞妞| 国产乱子精品一区二区在线观看| 国产美女久久| 美女在线视频一区| 九九九精品视频| 91免费精品| 日韩中文首页| 久久久久蜜桃| 国产精品嫩草99av在线| 亚洲最新av| 欧美自拍一区| 精品黄色一级片| 精品一区二区三区亚洲| 成人av三级| 亚洲国产综合在线看不卡| 亚洲欧美日韩在线观看a三区| 日韩中文字幕麻豆| 日本精品久久| 国产精品99久久免费| 精品理论电影在线| 国产中文在线播放| 99精品电影| 免费人成在线不卡| 97久久亚洲| 国产中文字幕一区二区三区| 久久精品主播| 美女国产一区| 日韩国产精品久久久| 精品一区二区三区中文字幕视频| 日产精品一区| 国产视频一区三区| 日韩精品免费观看视频| 久久xxx视频| 蜜臀国产一区| 欧美一区=区| 精品香蕉视频| 欧美精品激情| 欧美日韩a区| 国产在线看片免费视频在线观看| 亚洲激情中文| 91精品国产经典在线观看| 红杏一区二区三区| 999久久久亚洲| 偷拍亚洲精品| 日韩成人三级| 一级欧美视频| 97欧美在线视频| 国产亚洲欧洲| 国产精品a级| 午夜国产精品视频免费体验区| 日本亚洲欧洲无免费码在线| 99tv成人| 国产精选久久| 国产综合色产| 91精品福利观看| 日本精品不卡| 综合亚洲自拍| 麻豆传媒一区二区三区| 亚洲精品97| 国产精品亚洲四区在线观看| 日韩高清中文字幕一区二区| 日韩一区二区三区在线看| 国产中文在线播放| 日韩综合一区二区三区| 欧美日韩视频网站| 日本在线成人| 色婷婷狠狠五月综合天色拍| 亚洲精品精选| 日韩一区二区在线免费| 日韩欧美三区| 亚洲www啪成人一区二区| 日韩黄色在线观看| av中文资源在线资源免费观看| 亚洲三级网站| 久久在线视频免费观看| 国产精品任我爽爆在线播放| 夜夜嗨一区二区| 亚洲黄色免费看| 久久狠狠久久| 免费人成黄页网站在线一区二区|