亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
打印 上一主題 下一主題

[FreeBSD] 【FreeBSD system programming 】中文翻譯計劃及所有異義提交處 [復(fù)制鏈接]

論壇徽章:
0
51 [報告]
發(fā)表于 2006-02-14 08:59 |只看該作者
原帖由 FinalBSD 于 2006-2-13 19:36 發(fā)表
呵呵,我把翻譯好的都單獨(dú)發(fā)了帖子了。


老大,我那章還沒弄完呢,今天早上又弄了兩節(jié),1.5和1.6,已經(jīng)更新在33樓了。
麻煩你更新一下發(fā)布貼,

論壇徽章:
1
寅虎
日期:2013-09-29 23:15:15
52 [報告]
發(fā)表于 2006-02-14 09:10 |只看該作者
原帖由 雨絲風(fēng)片 于 2006-2-14 08:59 發(fā)表


老大,我那章還沒弄完呢,今天早上又弄了兩節(jié),1.5和1.6,已經(jīng)更新在33樓了。
麻煩你更新一下發(fā)布貼,

呵~這點(diǎn)小事,我來吧.

[ 本帖最后由 congli 于 2006-2-14 09:20 編輯 ]

論壇徽章:
0
53 [報告]
發(fā)表于 2006-02-14 09:37 |只看該作者
原帖由 congli 于 2006-2-14 09:10 發(fā)表

呵~這點(diǎn)小事,我來吧.


有勞版主了!1.7也弄完了,已更新在33樓。午飯后繼續(xù)。。。

論壇徽章:
1
寅虎
日期:2013-09-29 23:15:15
54 [報告]
發(fā)表于 2006-02-14 09:45 |只看該作者
原帖由 雨絲風(fēng)片 于 2006-2-14 09:37 發(fā)表


有勞版主了!1.7也弄完了,已更新在33樓。午飯后繼續(xù)。。。

OK!

論壇徽章:
2
亥豬
日期:2014-03-19 16:36:35午馬
日期:2014-11-23 23:48:46
55 [報告]
發(fā)表于 2006-02-14 10:37 |只看該作者
你們動作好快,看來我要加油了^_^

論壇徽章:
2
亥豬
日期:2014-03-19 16:36:35午馬
日期:2014-11-23 23:48:46
56 [報告]
發(fā)表于 2006-02-14 14:44 |只看該作者
第四章 高級進(jìn)程控制和信號

翻譯: gvim@chinaunix/bsd

一些說明:
1 很高興有這個機(jī)會參與到這項(xiàng)活動中來。
2 由于英語語言的習(xí)慣,文中有不少復(fù)雜長句,按照字面翻譯出來并不適合中國人的閱讀習(xí)慣。我在保留文章原意的基礎(chǔ)上作了一些語言組織上的調(diào)整,將大部分長句子組織成中文擅長的短句型,所以你會發(fā)現(xiàn)翻譯品一部分內(nèi)容不是按照原文字面翻譯的。
3 考慮到該書的入門引導(dǎo)作用,在原文中一些比較少見的詞后面我添加了少許譯注,希望減少入門兄弟的負(fù)擔(dān)。
4 由于2中的語言調(diào)整和3中的譯注,是我的個人行為,可能會有我對 原文理解模糊,概念不清,或是語言組織不順暢的地方,還請大家一定多多指出來。謝謝。
個人聲明:
本翻譯品受控于chinaunix BSD翻譯小組。如需單獨(dú)轉(zhuǎn)載,請保留“翻譯:gvim@chinaunix/bsd”和以上幾點(diǎn)說明。


4.1 高級進(jìn)程控制和信號
信號:4 a:一種對象,用于傳輸或負(fù)載人類聲音之外的信息。

到目前為止,我們已經(jīng)討論了進(jìn)程的創(chuàng)建和其他系統(tǒng)調(diào)用,F(xiàn)在是討論下面這些問題的時候了:你要在多個進(jìn)程間通訊以獲得更好的進(jìn)程控制粒度,或者要其他程序或操作者用信號通知你的程序。例如,你可能希望你的程序重新讀取它的配置文件;蛘,你的數(shù)據(jù)庫程序需要在退出之前將事務(wù)從主存寫入后備存儲器,然后再退出。這兩個例子可能只是使用信號的很小一部分。雖然已經(jīng)有套接字,先入先出隊(duì)列,管道,信號量等多種方式來完成類似的任務(wù),但是我們將把討論的焦點(diǎn)放在信號和其它進(jìn)程控制機(jī)制上。在現(xiàn)實(shí)中,信號和進(jìn)程控制機(jī)制可以提供大部分你所需要的特性和功能。

4.2 信號
信號與硬件中斷很相似。當(dāng)設(shè)備需要中斷服務(wù)的時候它可以產(chǎn)生一個硬件中斷來通知CPU。與硬件中斷類似的,當(dāng)進(jìn)程需要將一些事件通知給其他進(jìn)程的時候可以使用信號來完成。

大多數(shù)Unix系統(tǒng)管理員會比較熟悉SIGHUP信號。當(dāng)你通過kill命令向后臺服務(wù)進(jìn)程發(fā)出SIGHUP信號后,大多數(shù)進(jìn)程要么重新讀入他們的配置文件要么重新啟動。這些信號之中,一些與硬件有直接關(guān)系,如SIGFPE(浮點(diǎn)異常),SIGILL(非法指令);其它則是與軟件相關(guān),如SIGSYS(未實(shí)現(xiàn)的系統(tǒng)調(diào)用被調(diào)用)。

一旦進(jìn)程接收到信號之后,該信號的行為與信號本身和進(jìn)程對它的使用目的兩個因素有關(guān)。一些信號可以被阻塞,忽略,或者捕獲,而另外一些則不可以。如果進(jìn)程需要捕獲一個信號并履行一些相關(guān)操作,你可以為進(jìn)程設(shè)定這個特定信號的信號處理句柄。處理句柄僅僅是一個函數(shù),在這個信號被進(jìn)程接收之后調(diào)用;蛘吒_切的說,處理句柄是一個函數(shù)調(diào)用,你可以對它進(jìn)行指派(specify)。

當(dāng)信號沒有指定處理句柄時,將會執(zhí)行操作系統(tǒng)默認(rèn)的行為。這些缺省行為可以是從終止進(jìn)程到完全核心轉(zhuǎn)儲等不同的操作。注意,有兩個信號不能被捕獲或忽略:SIGSTOP和SIGKILL,下面會解釋。

在BSD系統(tǒng)中定義的有許多信號;我們討論在/usr/include/sys/signals.h(譯注:在我的FB5.2.1中是signal.h)文件中定義的標(biāo)準(zhǔn)信號。注意, NetBSD系統(tǒng)中定義的信號數(shù)量稍微多一點(diǎn),并且我們沒有將它們的討論放在這里。所以如果需要使用某個下面沒有涉及到的信號的時候,請查閱你的系統(tǒng)的頭文件。

  1. #define SIGHUP          1       /* hangup */
復(fù)制代碼

SIGHUP是Unix系統(tǒng)管理員很常用的一個信號。許多后臺服務(wù)進(jìn)程在接受到該信號后將會重新讀取它們的配置文件。然而,該信號的實(shí)際功能是通知進(jìn)程它的控制終端被斷開。缺省行為是終止進(jìn)程。
  1. #define SIGINT          2       /* interrupt */
復(fù)制代碼

對于Unix使用者來說,SIGINT是另外一個常用的信號。許多shell的CTRL-C組合使得這個信號被大家所熟知。該信號的正式名字是中斷信號。缺省行為是終止進(jìn)程。
  1. #define SIGQUIT         3       /* quit */
復(fù)制代碼

SIGQUIT信號被用于接收shell的CTRL-/組合。另外,它還用于告知進(jìn)程退出。這是一個常用信號,用來通知應(yīng)用程序從容的(譯注:即在結(jié)束前執(zhí)行一些退出動作)關(guān)閉。缺省行為是終止進(jìn)程,并且創(chuàng)建一個核心轉(zhuǎn)儲。
  1. #define SIGILL          4       /* illegal instr. (not reset when caught) */
復(fù)制代碼

如果正在執(zhí)行的進(jìn)程中包含非法指令,操作系統(tǒng)將向該進(jìn)程發(fā)送SIGILL信號。如果你的程序使用了線程技術(shù),或者pointer functions,那么可能的話可以嘗試捕獲該信號來協(xié)助調(diào)試。(注意:原文中的use of use of xxx暫時翻譯為"使用了xxx技術(shù)"(特別感謝 孫軒 szjungle 雨風(fēng) 三位朋友的指點(diǎn));另外,偶經(jīng)常聽說functions pointer,對于pointer functions,google了一下,應(yīng)該是fortran里面的東西,不管怎樣,還真不知道,確切含義還請知道的兄弟斧正。)缺省行為是終止進(jìn)程,并且創(chuàng)建一個核心轉(zhuǎn)儲。
  1. #define SIGTRAP         5       /* trace trap (not reset when caught) */
復(fù)制代碼

SIGTRAP這個信號是由POSIX標(biāo)準(zhǔn)定義的,用于調(diào)試目的。當(dāng)被調(diào)試進(jìn)程接收到該信號時,就意味著它到達(dá)了某一個調(diào)試斷點(diǎn)。一旦這個信號被交付,被調(diào)試的進(jìn)程就會停止,并且它的父進(jìn)程將接到通知。缺省行為是終止進(jìn)程,并且創(chuàng)建一個核心轉(zhuǎn)儲。
  1. #define SIGABRT         6       /* abort() */
復(fù)制代碼

SIGABRT提供了一種在異常終止(abort)一個進(jìn)程的同時創(chuàng)建一個核心轉(zhuǎn)儲的方法。然而如果該信號被捕獲,并且信號處理句柄沒有返回,那么進(jìn)程不會終止。缺省行為是終止進(jìn)程,并且創(chuàng)建一個核心轉(zhuǎn)儲。
  1. #define SIGFPE          8       /* floating point exception */
復(fù)制代碼

當(dāng)進(jìn)程發(fā)生一個浮點(diǎn)錯誤時,SIGFPE信號被發(fā)送給該進(jìn)程。對于那些處理復(fù)雜數(shù)學(xué)運(yùn)算的程序,一般會建議你捕獲該信號。缺省行為是終止進(jìn)程,并且創(chuàng)建一個核心轉(zhuǎn)儲。
  1. #define SIGKILL         9       /* kill (cannot be caught or ignored) */
復(fù)制代碼

SIGKILL是這些信號中最難對付的一個。正如你在它旁邊的注釋中看到的那樣,這個信號不能被捕獲或忽略。一旦該信號被交付給一個進(jìn)程,那么這個進(jìn)程就會終止。然而,會有一些極少數(shù)情況SIGKILL不會終止進(jìn)程。這些罕見的情形在處理一個“非中斷操作”(比如磁盤I/O)的時候發(fā)生。雖然這樣的情形極少發(fā)生,然而一旦發(fā)生的話,會造成進(jìn)程死鎖。唯一結(jié)束進(jìn)程的辦法就只有重新啟動了。缺省行為是終止進(jìn)程。
  1. #define SIGBUS          10      /* bus error */
復(fù)制代碼

如同它的名字暗示的那樣,CPU檢測到數(shù)據(jù)總線上的錯誤時將產(chǎn)生SIGBUS信號。當(dāng)程序嘗試去訪問一個沒有正確對齊的內(nèi)存地址時就會產(chǎn)生該信號。缺省行為是終止進(jìn)程,并且創(chuàng)建一個核心轉(zhuǎn)儲。
  1. #define SIGSEGV         11      /* segmentation violation */
復(fù)制代碼

SIGSEGV是另一個C/C++程序員很熟悉的信號。當(dāng)程序沒有權(quán)利訪問一個受保護(hù)的內(nèi)存地址時,或者訪問無效的虛擬內(nèi)存地址(臟指針,dirty pointers,譯注:由于沒有和后備存儲器中內(nèi)容進(jìn)行同步而造成。關(guān)于野指針,可以參見http://en.wikipedia.org/wiki/Wild_pointer 的解釋。)時,會產(chǎn)生這個信號。缺省行為是終止進(jìn)程,并且創(chuàng)建一個核心轉(zhuǎn)儲。
  1. #define SIGSYS          12      /* non-existent system call invoked */
復(fù)制代碼

SIGSYS信號會在進(jìn)程執(zhí)行一個不存在的系統(tǒng)調(diào)用時被交付。操作系統(tǒng)會交付該信號,并且進(jìn)程會被終止。缺省行為是終止進(jìn)程,并且創(chuàng)建一個核心轉(zhuǎn)儲。
  1. #define SIGPIPE         13      /* write on a pipe with no one to read it */
復(fù)制代碼

管道的作用就像電話一樣,允許進(jìn)程之間的通信。如果進(jìn)程嘗試對管道執(zhí)行寫操作,然而管道的另一邊卻沒有回應(yīng)者時,操作系統(tǒng)會將SIGPIPE信號交付給這個討厭的進(jìn)程(這里就是那個打算寫入的進(jìn)程)。缺省行為是終止進(jìn)程。

(to be continued...)

[ 本帖最后由 gvim 于 2006-2-17 16:46 編輯 ]

論壇徽章:
0
57 [報告]
發(fā)表于 2006-02-14 15:18 |只看該作者
偶的1.8也弄完了,已更新,

論壇徽章:
0
58 [報告]
發(fā)表于 2006-02-14 15:19 |只看該作者
原帖由 gvim 于 2006-2-14 14:44 發(fā)表
第四章 高級進(jìn)程控制和信號

翻譯: gvim@chinaunix/bsd



4.1 高級進(jìn)程控制和信號
信號:4 a:一種對象,用于 ...


兄弟的動作也不慢!

論壇徽章:
0
59 [報告]
發(fā)表于 2006-02-14 15:44 |只看該作者
原帖由 gvim 于 2006-2-14 14:44 發(fā)表
我們討論在/usr/include/sys/signals.h(譯注:在我的FB5.2.1中是signal.h)
[


你對了,作者錯了,這個地方就應(yīng)該是signal.h。這本書作者應(yīng)該沒有進(jìn)行仔細(xì)的修訂,我在翻譯過程中已經(jīng)幫他修正了幾處明顯的打字或排版錯誤。

論壇徽章:
0
60 [報告]
發(fā)表于 2006-02-15 08:58 |只看該作者
今天早上把1.9也弄完了,已更新至33樓和發(fā)布貼,
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP