锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久97久久97精品免视看秋霞,无码人妻久久久一区二区三区,久久人人爽人人人人片avhttp://www.shnenglu.com/converse/category/5839.htmlzh-cnTue, 02 Sep 2008 16:12:08 GMTTue, 02 Sep 2008 16:12:08 GMT60APUE2璇諱功絎旇(涓?:涓嶅彲閲嶅叆鍑芥暟http://www.shnenglu.com/converse/archive/2008/09/02/60712.html鍒?/dc:creator>鍒?/author>Tue, 02 Sep 2008 09:18:00 GMThttp://www.shnenglu.com/converse/archive/2008/09/02/60712.htmlhttp://www.shnenglu.com/converse/comments/60712.htmlhttp://www.shnenglu.com/converse/archive/2008/09/02/60712.html#Feedback0http://www.shnenglu.com/converse/comments/commentRss/60712.htmlhttp://www.shnenglu.com/converse/services/trackbacks/60712.html闃呰鍏ㄦ枃

]]>
APUE2璇諱功絎旇(浜?:涓轟粈涔堟湁浜?jiǎn)wait鍑芥暟鏃忚繕闇瑕丼IGCHLD淇″彿http://www.shnenglu.com/converse/archive/2007/12/28/39870.html鍒?/dc:creator>鍒?/author>Fri, 28 Dec 2007 15:39:00 GMThttp://www.shnenglu.com/converse/archive/2007/12/28/39870.htmlhttp://www.shnenglu.com/converse/comments/39870.htmlhttp://www.shnenglu.com/converse/archive/2007/12/28/39870.html#Feedback0http://www.shnenglu.com/converse/comments/commentRss/39870.htmlhttp://www.shnenglu.com/converse/services/trackbacks/39870.htmlIn UNIX System terminology, a process that has terminated, but whose parent has not yet waited for it, is called a zombie.
涔熷氨鏄,浣嗗嚒鏄埗榪涚▼娌℃湁璋冪敤wait鍑芥暟鑾峰緱瀛愯繘紼嬬粓姝㈢姸鎬佺殑瀛愯繘紼嬪湪緇堟涔嬪悗閮芥槸鍍靛案榪涚▼,榪欎釜姒傚康鐨勫叧閿竴鐐瑰氨鏄埗榪涚▼鏄惁璋冪敤浜?jiǎn)wait鍑芥暟.

鑰屽叧浜嶴IGCHLD淇″彿,APUE2涓張濡傛槸璇?
Whenever a process terminates or stops, the SIGCHLD signal is sent to the parent. By default, this signal is ignored, so the parent must catch this signal if it wants to be notified whenever a child's status changes. The normal action in the signal-catching function is to call one of the wait functions to fetch the child's process ID and termination status.
綆鍗曠殑璇?瀛愯繘紼嬮鍑烘椂鐖惰繘紼嬩細(xì)鏀跺埌涓涓猄IGCHLD淇″彿,榛樿鐨勫鐞嗘槸蹇界暐榪欎釜淇″彿,鑰屽父瑙勭殑鍋氭硶鏄湪榪欎釜淇″彿澶勭悊鍑芥暟涓皟鐢╳ait鍑芥暟鑾峰彇瀛愯繘紼嬬殑閫鍑虹姸鎬?

榪欓噷瀛樺湪涓涓枒闂?鏃㈢劧鍦⊿IGCHLD淇″彿鐨勫鐞嗗嚱鏁頒腑瑕佽皟鐢╳ait鍑芥暟鏃?涓轟粈涔堟湁浜?jiǎn)wait鍑芥暟鏃忚繕闇瑕佷嬌鐢⊿IGCHLD淇″彿?

鎴戜滑鐭ラ亾,unix涓俊鍙鋒槸寮傛澶勭悊鏌愪簨鐨勬満鍒?濂芥瘮璇翠綘鍑嗗鍘誨仛鏌愪簨,鍘諱箣鍓嶈窡閭誨眳寮犱笁璇村鏋滄潕鍥涙潵鎵句綘鐨勮瘽灝遍氱煡浠栦竴澹?榪欒浣犲彲浠ユ娊韜嚭鏉ュ幓鍋氳繖浠朵簨,鑰屾潕鍥涚湡姝f潵璁挎椂浼?xì)鏈変汉閫氱煡浣?榪欎釜灝辨槸寮傛淇″彿涓涓緝涓哄艦璞$殑姣斿柣.

涓鑸殑,鐖惰繘紼嬪湪鐢熸垚瀛愯繘紼嬩箣鍚庝細(xì)鏈変袱縐嶆儏鍐?涓縐嶆槸鐖惰繘紼嬬戶緇幓鍋氬埆鐨勪簨鎯?綾諱技涓婇潰涓劇殑渚嬪瓙,鍙︿竴縐嶆槸鐖惰繘紼嬪暐閮戒笉鍋?涓鐩村湪wait瀛愯繘紼嬮鍑?SIGCHLD淇″彿灝辨槸涓鴻繖絎竴縐嶆儏鍐靛噯澶囩殑,瀹冭鐖惰繘紼嬪幓鍋氬埆鐨勪簨鎯?鑰屽彧瑕佺埗榪涚▼娉ㄥ唽浜?jiǎn)澶勭悊璇ヤ俊鍙风殑鍑芥?鍦ㄥ瓙榪涚▼閫鍑烘椂灝變細(xì)璋冪敤璇ュ嚱鏁?鍦ㄥ嚱鏁頒腑wait瀛愯繘紼嬪緱鍒扮粓姝㈢姸鎬佷箣鍚庡啀緇х畫(huà)鍋氱埗榪涚▼鐨勪簨鎯?

涔熷氨鏄,鏄庣‘浠ヤ笅鍑犵偣:
1)鍑$埗榪涚▼涓嶈皟鐢╳ait鍑芥暟鏃忚幏寰楀瓙榪涚▼緇堟鐘舵佺殑瀛愯繘紼嬪湪閫鍑烘椂閮戒細(xì)鍙樻垚鍍靛案榪涚▼.
2)SIGCHLD淇″彿鍙互寮傛鐨勯氱煡鐖惰繘紼嬫湁瀛愯繘紼嬮鍑?


]]>
APUE2璇諱功絎旇(涓):real user ID, effective user ID,saved set-user-ID http://www.shnenglu.com/converse/archive/2007/12/20/39166.html鍒?/dc:creator>鍒?/author>Thu, 20 Dec 2007 15:24:00 GMThttp://www.shnenglu.com/converse/archive/2007/12/20/39166.htmlhttp://www.shnenglu.com/converse/comments/39166.htmlhttp://www.shnenglu.com/converse/archive/2007/12/20/39166.html#Feedback0http://www.shnenglu.com/converse/comments/commentRss/39166.htmlhttp://www.shnenglu.com/converse/services/trackbacks/39166.htmlUnix涓父瑙佺殑鍑犱釜姒傚康,涓嬮潰鍋氫竴涓В閲?

棣栧厛闇瑕佹槑紜竴鐐?榪欏嚑涓蹇甸兘鏄拰榪涚▼鐩稿叧鐨?
real user ID琛ㄧず鐨勬槸瀹為檯涓婅繘紼嬬殑鎵ц鑰呮槸璋?effective user ID涓昏鐢ㄤ簬鏍¢獙璇ヨ繘紼嬪湪鎵ц鏃舵墍鑾峰緱鐨勬枃浠惰闂潈闄?涔熷氨鏄褰撹繘紼嬭闂枃浠舵椂媯(gè)鏌ユ潈闄愭椂瀹為檯涓婃鏌ョ殑璇ヨ繘紼嬬殑"effective user ID",saved set-user-ID 浠呭湪effective user ID鍙戠敓鏀瑰彉鏃朵繚瀛?

涓鑸儏鍐典笅,real user ID灝辨槸榪涚▼鐨別ffective user ID,浣嗘槸褰撹榪愯鐨勫彲鎵ц紼嬪簭璁劇疆浜?set-user-ID"浣嶄箣鍚?榪涚▼鐨別ffective user ID鍙樻垚璇ユ枃浠剁殑灞炰富鐢ㄦ埛id,鍚屾椂璇ヨ繘紼嬬殑"saved set-user-ID"鍙樻垚姝ゆ椂榪涚▼鐨?effective user ID",涔熷氨鏄鍙墽琛岀▼搴忕殑灞炰富鐢ㄦ埛ID,璇ヨ繘紼嬪湪鎵ц涓浜涗笌鏂囦歡璁塊棶鏉冮檺鐩稿叧鐨勬搷浣滄椂緋葷粺媯(gè)鏌ョ殑鏄繘紼嬬殑effective user ID.

涓轟粈涔堥渶瑕佷竴涓?saved set-user-ID"?鍥犱負(fù)褰撹繘紼嬫病鏈夎秴綰х敤鎴鋒潈闄愮殑鏃跺?榪涚▼鍦ㄨ緗?effective user ID"鏃墮渶瑕佸皢闇瑕佽緗殑ID鍜岃榪涚▼鐨?real user ID"鎴栬?saved set-user-ID"榪涜姣旇緝.

APUE2涓繘琛岀殑瑙i噴鏄?
1)If the process has superuser privileges, the setuid function sets the real user ID, effective user ID, and saved set-user-ID to uid.

2)If the process does not have superuser privileges, but uid equals either the real user ID or the saved set-user-ID, setuid sets only the effective user ID to uid. The real user ID and the saved set-user-ID are not changed.

3)If neither of these two conditions is true, errno is set to EPERM, and 1 is returned
涔熷氨鏄:
1)褰撶敤鎴峰叿鏈夎秴綰х敤鎴鋒潈闄愮殑鏃跺?setuid 鍑芥暟璁劇疆鐨刬d瀵逛笁鑰呴兘璧鋒晥.
2)鍚﹀垯,浠呭綋璇d涓簉eal user ID 鎴栬卻aved set-user-ID鏃?璇d瀵筫ffective user ID璧鋒晥.
3)鍚﹀垯,setuid鍑芥暟璋冪敤澶辮觸.

涔熷氨鏄,榪欎釜saved set-user-ID鏇村鐨勪綔鐢ㄦ槸鍦ㄨ繘紼嬪垏鎹㈣嚜宸辯殑effective user ID璧蜂綔鐢?

闇瑕佺壒鍒彁閱掔殑鏄?騫舵病鏈変換浣曠殑API鍙互鑾峰彇鍒拌繘紼嬬殑saved set-user-ID,瀹冧粎浠呮槸緋葷粺鍦ㄨ皟鐢╯etuid鍑芥暟鏃惰繘琛屾瘮杈冭岃搗浣滅敤鐨?
APUE2涓叧浜庢浜嬬殑鍘熻瘽濡備笅:
Note that we can obtain only the current value of the real user ID and the effective user ID with the functions getuid and geteuid from Section 8.2. We can't obtain the current value of the saved set-user-ID.


涓句竴涓緥瀛愯鏄庨棶棰?鍋囪榪欐牱鐨勪竴縐嶆儏鍐?緋葷粺涓湁涓や釜鐢ㄦ埛A,B,榪樻湁涓涓敱B鍒涘緩鐨勫彲鎵ц紼嬪簭proc,璇ュ彲鎵ц紼嬪簭鐨剆et-
user-id浣嶅凡緇忚繘琛屼簡(jiǎn)璁劇疆.

褰揂鐢ㄦ埛鎵ц紼嬪簭proc鏃?
紼嬪簭鐨剅eal user ID = A鐨勭敤鎴稩D,effective user ID = B鐨勭敤鎴稩D,  saved set-user-ID=B鐨勭敤鎴稩D.

鍋囧鍦ㄨ榪涚▼緇撴潫浜?jiǎn)瀵规煇浜涢檺鍒跺彧鑳界斵q敤鎴稡璁塊棶鐨勬枃浠舵搷浣滃悗,紼嬪簭灝唀ffective user ID璁劇疆鍥濧,涔熷氨鏄姝ゆ椂:
紼嬪簭鐨剅eal user ID = A鐨勭敤鎴稩D,effective user ID = A鐨勭敤鎴稩D,  saved set-user-ID=B鐨勭敤鎴稩D.

榪欎釜鏀瑰姩涔嬫墍浠ヨ兘鎴愬姛,鍘熷洜鍦ㄤ簬涓婇潰鍒椾婦鍑虹殑鎯呭喌2):璇D涓鴻繘紼嬬殑real user ID.

鏈鍚?鍋囪鐢變簬縐嶇鍘熷洜榪涚▼闇瑕佸啀嬈″垏鎹ffective user ID涓築,鍙槸鍥犱負(fù)涓嶈兘閫氳繃API鑾峰彇榪涚▼鐨剆aved set-user-ID(璇ュ間負(fù)B鐨勭敤鎴稩D),鎵浠ュ彧鑳介氳繃涓ょ閫斿緞鑾峰緱(鍙兘榪樻湁鍒殑閫斿緞):
a)鍦ㄨ緗甧ffective user ID鍙樺洖A涔嬪墠淇濆瓨effective user ID,瀹冪殑鍊間負(fù)B鐨勭敤鎴稩D.
b)璋冪敤鍑芥暟getpwnam( "B"),鍦ㄨ繑鍥炵殑struct passwd *鎸囬拡涓垚鍛榩w_uid瀛樻斁鐨勫氨鏄敤鎴稡鐨処D.
榪欐牱,榪欎釜璋冪敤setuid(B鐨勭敤鎴稩D)灝變細(xì)鎴愬姛,鍘熷洜涔熷湪浜庝笂闈㈣鐨勬儏鍐?):璇D涓庤繘紼嬬殑saved set-user-ID鐩稿悓.

APUE2涓叧浜庤繖鍑犱釜鍊肩殑鐩稿叧瑙i噴鍦╯ection4.4鍜宻ection8.11涓兘鏈夋秹鍙?








]]>
久久久久久亚洲精品成人| 一本一本久久a久久精品综合麻豆| 国产成人精品综合久久久久| 亚洲伊人久久大香线蕉综合图片| 久久婷婷五月综合97色| 99久久精品国内| 亚洲人成电影网站久久| 久久99亚洲网美利坚合众国| 久久国产高清一区二区三区| 久久人妻AV中文字幕| 99久久免费国产精品热| 污污内射久久一区二区欧美日韩 | 欧美午夜A∨大片久久 | 亚洲伊人久久综合中文成人网| 亚洲级αV无码毛片久久精品| 欧美日韩中文字幕久久伊人| 蜜臀久久99精品久久久久久| 国产亚洲精品自在久久| 国产精品一区二区久久精品涩爱| 久久精品免费一区二区三区| 热99RE久久精品这里都是精品免费 | 2021少妇久久久久久久久久| 香蕉99久久国产综合精品宅男自| 国产精品久久成人影院| 婷婷综合久久中文字幕蜜桃三电影| 99久久精品免费| 99精品久久久久中文字幕| 久久久久久av无码免费看大片| 久久久久久久久久久久中文字幕| 久久亚洲2019中文字幕| 国产高潮国产高潮久久久91| 99国产精品久久| 久久亚洲春色中文字幕久久久| 青青草原综合久久大伊人| 人妻少妇精品久久| 国产精品久久久久久久久久免费| 久久被窝电影亚洲爽爽爽| 国产精品免费看久久久| 69久久夜色精品国产69| 99久久综合狠狠综合久久止| 国产精品99久久免费观看|