锘??xml version="1.0" encoding="utf-8" standalone="yes"?>97精品伊人久久大香线蕉app,久久精品国产网红主播,秋霞久久国产精品电影院http://m.shnenglu.com/converse/category/5839.htmlzh-cnTue, 02 Sep 2008 16:12:08 GMTTue, 02 Sep 2008 16:12:08 GMT60APUE2璇諱功絎旇(涓?:涓嶅彲閲嶅叆鍑芥暟http://m.shnenglu.com/converse/archive/2008/09/02/60712.html鍒?/dc:creator>鍒?/author>Tue, 02 Sep 2008 09:18:00 GMThttp://m.shnenglu.com/converse/archive/2008/09/02/60712.htmlhttp://m.shnenglu.com/converse/comments/60712.htmlhttp://m.shnenglu.com/converse/archive/2008/09/02/60712.html#Feedback0http://m.shnenglu.com/converse/comments/commentRss/60712.htmlhttp://m.shnenglu.com/converse/services/trackbacks/60712.html闃呰鍏ㄦ枃

]]>
APUE2璇諱功絎旇(浜?:涓轟粈涔堟湁浜唚ait鍑芥暟鏃忚繕闇瑕丼IGCHLD淇″彿http://m.shnenglu.com/converse/archive/2007/12/28/39870.html鍒?/dc:creator>鍒?/author>Fri, 28 Dec 2007 15:39:00 GMThttp://m.shnenglu.com/converse/archive/2007/12/28/39870.htmlhttp://m.shnenglu.com/converse/comments/39870.htmlhttp://m.shnenglu.com/converse/archive/2007/12/28/39870.html#Feedback0http://m.shnenglu.com/converse/comments/commentRss/39870.htmlhttp://m.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鍑芥暟鑾峰緱瀛愯繘紼嬬粓姝㈢姸鎬佺殑瀛愯繘紼嬪湪緇堟涔嬪悗閮芥槸鍍靛案榪涚▼,榪欎釜姒傚康鐨勫叧閿竴鐐瑰氨鏄埗榪涚▼鏄惁璋冪敤浜唚ait鍑芥暟.

鑰屽叧浜嶴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.
綆鍗曠殑璇?瀛愯繘紼嬮鍑烘椂鐖惰繘紼嬩細鏀跺埌涓涓猄IGCHLD淇″彿,榛樿鐨勫鐞嗘槸蹇界暐榪欎釜淇″彿,鑰屽父瑙勭殑鍋氭硶鏄湪榪欎釜淇″彿澶勭悊鍑芥暟涓皟鐢╳ait鍑芥暟鑾峰彇瀛愯繘紼嬬殑閫鍑虹姸鎬?

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

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

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

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


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

棣栧厛闇瑕佹槑紜竴鐐?榪欏嚑涓蹇甸兘鏄拰榪涚▼鐩稿叧鐨?
real user ID琛ㄧず鐨勬槸瀹為檯涓婅繘紼嬬殑鎵ц鑰呮槸璋?effective user ID涓昏鐢ㄤ簬鏍¢獙璇ヨ繘紼嬪湪鎵ц鏃舵墍鑾峰緱鐨勬枃浠惰闂潈闄?涔熷氨鏄褰撹繘紼嬭闂枃浠舵椂媯鏌ユ潈闄愭椂瀹為檯涓婃鏌ョ殑璇ヨ繘紼嬬殑"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,璇ヨ繘紼嬪湪鎵ц涓浜涗笌鏂囦歡璁塊棶鏉冮檺鐩稿叧鐨勬搷浣滄椂緋葷粺媯鏌ョ殑鏄繘紼嬬殑effective user ID.

涓轟粈涔堥渶瑕佷竴涓?saved set-user-ID"?鍥犱負褰撹繘紼嬫病鏈夎秴綰х敤鎴鋒潈闄愮殑鏃跺?榪涚▼鍦ㄨ緗?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浣嶅凡緇忚繘琛屼簡璁劇疆.

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

鍋囧鍦ㄨ榪涚▼緇撴潫浜嗗鏌愪簺闄愬埗鍙兘鐢辯敤鎴稡璁塊棶鐨勬枃浠舵搷浣滃悗,紼嬪簭灝唀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涓築,鍙槸鍥犱負涓嶈兘閫氳繃API鑾峰彇榪涚▼鐨剆aved set-user-ID(璇ュ間負B鐨勭敤鎴稩D),鎵浠ュ彧鑳介氳繃涓ょ閫斿緞鑾峰緱(鍙兘榪樻湁鍒殑閫斿緞):
a)鍦ㄨ緗甧ffective user ID鍙樺洖A涔嬪墠淇濆瓨effective user ID,瀹冪殑鍊間負B鐨勭敤鎴稩D.
b)璋冪敤鍑芥暟getpwnam( "B"),鍦ㄨ繑鍥炵殑struct passwd *鎸囬拡涓垚鍛榩w_uid瀛樻斁鐨勫氨鏄敤鎴稡鐨処D.
榪欐牱,榪欎釜璋冪敤setuid(B鐨勭敤鎴稩D)灝變細鎴愬姛,鍘熷洜涔熷湪浜庝笂闈㈣鐨勬儏鍐?):璇D涓庤繘紼嬬殑saved set-user-ID鐩稿悓.

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








]]>
久久99国产精品尤物| 久久婷婷午色综合夜啪| 精品久久久久久久无码 | 香蕉久久永久视频| 亚洲国产成人乱码精品女人久久久不卡| 久久精品无码一区二区三区日韩| 欧美久久一级内射wwwwww.| 日韩精品久久无码中文字幕| 狠狠色丁香婷婷久久综合不卡| 久久精品国产第一区二区| 无码人妻久久一区二区三区| 99久久国产综合精品五月天喷水| 国产精品久久新婚兰兰| 久久不射电影网| 久久精品青青草原伊人| 久久精品国产一区二区| 996久久国产精品线观看| 香蕉久久AⅤ一区二区三区| 久久99国产精一区二区三区| 一级A毛片免费观看久久精品| 久久久久综合网久久| 少妇内射兰兰久久| 久久久久国产精品人妻| 精品久久久久久99人妻| 成人久久精品一区二区三区| 无码人妻精品一区二区三区久久 | 国内精品伊人久久久久妇| 亚洲国产二区三区久久| 久久精品国产亚洲AV麻豆网站 | 日本三级久久网| 久久久久久亚洲精品成人| 中文字幕精品无码久久久久久3D日动漫 | 久久久久国产一级毛片高清版| 久久九九兔免费精品6| 噜噜噜色噜噜噜久久| 三级韩国一区久久二区综合 | 国产精品无码久久四虎| 久久精品成人免费看| 久久久精品免费国产四虎| 久久精品一区二区国产| 狠狠色丁香久久婷婷综合五月|