日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

freebsd 信號和殺死進程

當您運行一個編輯器時它是很容易控制的,告訴它去加載文件它就加載 。您之所以能這樣做,是因為編輯器提供這樣便利去這樣做,和因為有編輯器去附上的終端 。一些程序在運行中不需要連續(xù)的用戶輸入,一有機會就從終端里分離到后臺去 。例如,一個web系統(tǒng)整天都在作web請求的響應,他不需要您輸入任何東西就能完成,這個類別的另一個例子就是把email的傳送 。我們把那些程序叫守護進程 。守護神是希臘神話中的一些人物,非正非邪,他們是些守護小幽靈,大體上為人類作出貢獻 。許多類似web系統(tǒng)或mail系統(tǒng)的系統(tǒng)對于今天仍有用途,這就是為什么在那么長的時間里,BSD的吉祥物保持為一雙鞋加一把鋼叉的守護神模樣 。
守護進程的程序命名通常在最后加一個“d” 。BIND是伯克萊互聯(lián)網(wǎng)絡守護進程命名(and the actual program that executes is called named),Apacheweb系統(tǒng)的程序就叫httpd,在行式打印機上的打印守護進程就是lpd 。這只是一種慣例,不是標準或硬性規(guī)定 。例如,為Sendmail而應用的主要mail守護進程就叫sendmail,卻不叫maild,這和您推測的一樣 。
有時您必須和一個守護進程的程序通信,這些通信就叫信號 。您能發(fā)送一個信號給守護進程(或有關的另一些運行進程)與它進行通信,各個不同的信號各自就是一個數(shù)字編號,而您所發(fā)送的--數(shù)字編號各自有一個特殊的含義 。有些人把信號解悉為"請求",并在"請求"的文檔里告訴您怎樣把信號理解為請求 。您只能給所屬于您的進程發(fā)信號,假如您給其他人的進程發(fā)信號,進程就會用kill(1) 或 kill(2)權限進行拒絕 。當然,root 用戶會例外,它能把各種信號發(fā)送給每個進程 。
在某些案例里,F(xiàn)reeBSD也會向應用軟件發(fā)送信號 。假如一個應用軟件含有惡意寫入并試圖去訪問內(nèi)存,那是不可想象的,F(xiàn)reeBSD會向那個進程發(fā)送 段式違規(guī) 信號 (SIGSEGV) 。假如一個應用軟件使用alarm(3)系統(tǒng)去進行周期性調用鬧鐘功能,每當達到時間時,F(xiàn)reeBSD會向應用軟件發(fā)送鬧鐘信號(SIGALRM) 。
【freebsd 信號和殺死進程】有兩個信號可以停止進程:SIGTERM 和 SIGKILL 。SIGTERM比較友好,進程能捕捉這個信號,根據(jù)您的需要來關閉程序 。在關閉程序之前,您可以結束打開的記錄文件和完成正在做的任務 。在一些案例里,假如進程正在進行作業(yè)而且不能中斷,那么進程可以忽略這個SIGTERM信號 。
對于SIGKILL信號,進程是不能忽略的 。這是一個 "“我不管您在做什么,立刻停止”"的信號 。假如您發(fā)送SIGKILL信號給進程,F(xiàn)reeBSD就將進程停止在那里 。[1].
您可能會去使用 SIGHUP、 SIGUSR1 和 SIGUSR2信號 。這都是些通用的信號,各種應用程序都可以應用在各方面的信號發(fā)送 。
假如您改變了web系統(tǒng)的配置文件--并想web系統(tǒng)去重讀它的配置,您可以停止然后再啟動httpd 。但這樣做web系統(tǒng)會導致一個短暫的中斷周期,那樣是不受歡迎的 。幾乎所有的守護進程在編寫時,都會指定對SIGHUP 信號進行響應從而重讀配置文件 。所以最好的方法就是不去殺死并重啟httpd,而是發(fā)一個SIGHUP信號給他 。因為在這方面沒有一個標準,不同的守護進程有不同的用法,所以不了解時應讀一下守護進程的文檔 。
發(fā)送信號可用kill(1) 命令,請參考kill(1)所列出的例子 。
發(fā)送一個信號給進程
這個例子顯示了怎樣去發(fā)一個信號給inetd(8) 。inetd配置文件是/etc/inetd.conf,如果想inetd 去重讀文件系統(tǒng)的話,可以給它發(fā)一個SIGHUP 信號 。
尋找您要發(fā)送信號的進程ID,可以用ps(1) 加 grep(1)來完成 。grep(1)命令被用在搜索輸出方面,搜索您指定的字符串 。這命令是由普通用戶來執(zhí)行的,而inetd(8)是root用戶運行的,所以必須給ps(1)帶上ax選項 。

推薦閱讀