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

FreeBSD handbook中文版 3 Unix 基礎(chǔ)( 五 )


SIGKILL 無法被進(jìn)程忽略 。它會(huì)發(fā)出這樣的信號“I do not care what you are doing,
stop right now” 。如果你發(fā)送SIGKILL 給一個(gè)進(jìn)程,F(xiàn)reeBSD 將會(huì)停止那個(gè)進(jìn)程 。
你可能要用到的其他signal 是SIGHUP, SIGUSR1 和SIGUSR2 。這些是普通用途的
signal 。當(dāng)他們被發(fā)送時(shí),不同的應(yīng)用程序?qū)⒆霾煌氖虑?。
建議你改變一下你的web 服務(wù)器的配置文件----你最好告訴web 服務(wù)器重新讀一下它
的配置文件 。你需要重起httpd,但這將會(huì)在你的web 服務(wù)器上增加一些消耗,而這可能是
你不太歡迎的 。絕大多數(shù)守護(hù)程序通過重新讀取它們的配置文件來對SIGHUP 信號作出回應(yīng) 。
不同的后臺(tái)程序?qū)⒂胁煌男袨?。所以,要帶著問題來閱讀守護(hù)程序的聯(lián)機(jī)手冊 。
可以使用kill 命令來發(fā)送signal,例如:
發(fā)送一個(gè)signal 給處理器
這個(gè)例子顯示了如何發(fā)送一個(gè)信號給inetd 。Inetd 的配置文件是/etc/inetd.conf 。當(dāng)它
接收到SIGHUP 時(shí),inetd 將重新讀取這個(gè)配置文件 。
尋找你要發(fā)送信號的進(jìn)程ID 。可以使用ps,grep 命令 。Grep 命令被用來搜索輸出,1.
尋找你要指定的字符 。這個(gè)可以有一個(gè)普通用戶來執(zhí)行,而inetd 需要是root 用戶,所以
ps 必須帶上ax 選項(xiàng)
% ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wW
這兒,inetd 的PID 是198 。有時(shí),grep inetd 命令也需要出現(xiàn)在這個(gè)輸出中 。這是
因?yàn)閜s 必須要找到當(dāng)前運(yùn)行的進(jìn)程的列表 。
使用kill 來發(fā)送信號 。因?yàn)閕netd 只有root 用戶才能運(yùn)行,你必須使用su 來變2.
成一個(gè)root 用戶 。
% su
PassWord:
第10 頁FreeBSD 使用手冊
# /bin/kill -s HUP 198
就象普通的unix 命令一樣,如果它成功執(zhí)行,kill 將不會(huì)輸出任何信息 。如果你想發(fā)
送一個(gè)signal 給一個(gè)進(jìn)程,你會(huì)看到“kill: PID: Operation not permitted” 。如果你
打錯(cuò)了PID,你有可能把信號發(fā)錯(cuò)給了某個(gè)進(jìn)程,這樣會(huì)很糟糕,也有可能把信號發(fā)給了一
個(gè)當(dāng)前不在使用的PID,你將可能看到“kill: PID: No such process”這樣的信息 。
為什么使用/bin/kill:許多shell 提供了內(nèi)建命令kill;shell 將直接發(fā)送信號,比
運(yùn)行/bin/kill 要好 。這點(diǎn)非常有用,但不同的shell 需要用不同的語法來指定信號的名字 。
重要點(diǎn):在系統(tǒng)中隨意地殺死進(jìn)程是個(gè)壞主意 。特別地,init 進(jìn)程ID 是1,非常特殊 。
運(yùn)行/bin/kill -s KILL 1 是一個(gè)快速關(guān)閉你系統(tǒng)的方法 。在你鍵入kill 之前,請你仔細(xì)
檢查你執(zhí)行的kill 的參數(shù) 。
3.7 Shell
在FreeBSD 中,許多工作是通過一個(gè)叫命令解釋器{俗稱“外殼(shell)”}的命令行
接口來完成的 。shell 的主要工作是接收輸入的命令然后執(zhí)行它們 。許多shell 也能夠用來
幫助完成每天的工作,如:文件管理,文件查找,命令行編輯,宏命令,以及其它環(huán)境設(shè)置 。
FreeBSD 有許多種shell,如:sh,Bourne Shell 和csh,C-shell 。許多其它的shell,如
tcsh,bash 擁有更強(qiáng)大的功能,你可以在FreeBSD 的軟件包中找到 。
你使用哪個(gè)shell?那還正是個(gè)問題 。如果你是一個(gè)C 程序員,你可能覺得象tcsh 這
種C 類型的shell,用起來比較舒服 。如果你使用Linux 或你是一個(gè)UNIX 的新手,你可能
會(huì)試一試bash 。這里要指出的是每一種shell 都有它自己的特點(diǎn),你可以根據(jù)你的喜好自
由地選擇 。Shell 的一個(gè)基本特征是文件名的自動(dòng)補(bǔ)充功能 。通常在你輸入一個(gè)命令或文件
名時(shí),你先輸入幾個(gè)字母,然后按TAB 鍵,命令或文件名會(huì)自動(dòng)補(bǔ)上剩下的字母 。例如:我
有兩個(gè)文件:foobar 和foo.bar 。我要?jiǎng)h除foo.bar 。所以我就輸入:rm foo[TAB].[TAB] 。
Shell 就會(huì)打出rm foo[BEEP].Bar 。[BEEP]是鈴聲 。它能夠告訴我,因?yàn)槠ヅ涞膯栴}shell

推薦閱讀