1. 程式人生 > >linux 系統 分級命令目錄作用,軟硬中斷,檢視具體程序啟動資訊

linux 系統 分級命令目錄作用,軟硬中斷,檢視具體程序啟動資訊

中斷部分內容參考自:http://blog.csdn.net/zhangskd/article/details/21992933

程序檢視部分參考自:http://blog.csdn.net/zheng0518/article/details/42964913

首先注意usr Unix System Resource,而不是User

然後通常/usr/bin下面的都是系統預裝的可執行程式,會隨著系統升級而改變

/usr/local/bin目錄是給使用者放置自己的可執行程式的地方,推薦放在這裡,不會被系統升級而覆蓋同名檔案

如果兩個目錄下有相同的可執行程式,誰優先執行受到PATH環境變數的影響,比如我的一臺伺服器的PATH變數為

echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dean/bin

這裡/usr/local/bin優先於/usr/bin, 一般都是如此。

bin: 
bin
binary的簡寫主要放置一些系統的必備執行檔例如:catcpchmod dfdmesggzipkilllsmkdirmoremountrmsutar等。

/usr/bin:
主要放置一些應用軟體工具的必備執行檔例如c++g++gccchdrvdiffdigduejectelmfreegnome*

ziphtpasswdkfmktoplastlesslocalem4makemanmcopyncftp newaliasesnslookup passwdquotasmb*wget等。

/sbin: 
主要放置一些系統管理的必備程式例如:cfdiskdhcpcddumpe2fsckfdiskhaltifconfigifup ifdowninitinsmodlilolsmodmke2fsmodprobequotacheckrebootrmmod runlevelshutdown等。

/usr/sbin: 
放置一些網路管理的必備程式例如

:dhcpdhttpdimapin.*dinetdlpdnamednetconfignmbdsambasendmailsquidswaptcpdtcpdump

/bin : commands inthis dir are all system installed user commands

/sbin:  commands in this dir are all system installedsuper user commands

/usr/bin: usercommands for applications

/usr/sbin: superuser commands for applications

/usr/local/bin :application user commands

/usr/local/sbin:application super user commands

(1) 硬中斷

由與系統相連的外設(比如網絡卡、硬碟)自動產生的。主要是用來通知作業系統系統外設狀態的變化。比如當網絡卡收到資料包

的時候,就會發出一箇中斷。我們通常所說的中斷指的是硬中斷(hardirq)。

(2) 軟中斷

為了滿足實時系統的要求,中斷處理應該是越快越好。linux為了實現這個特點,當中斷髮生的時候,硬中斷處理那些短時間

就可以完成的工作,而將那些處理事件比較長的工作,放到中斷之後來完成,也就是軟中斷(softirq)來完成。

(3) 中斷巢狀

Linux下硬中斷是可以巢狀的,但是沒有優先順序的概念,也就是說任何一個新的中斷都可以打斷正在執行的中斷,但同種中斷

除外。軟中斷不能巢狀,但相同型別的軟中斷可以在不同CPU上並行執行。

(4) 軟中斷指令

int是軟中斷指令。

中斷向量表是中斷號和中斷處理函式地址的對應表。

int n - 觸發軟中斷n。相應的中斷處理函式的地址為:中斷向量表地址 + 4 * n。

(5)硬中斷和軟中斷的區別

軟中斷是執行中斷指令產生的,而硬中斷是由外設引發的。

硬中斷的中斷號是由中斷控制器提供的,軟中斷的中斷號由指令直接指出,無需使用中斷控制器。

硬中斷是可遮蔽的,軟中斷不可遮蔽。

硬中斷處理程式要確保它能快速地完成任務,這樣程式執行時才不會等待較長時間,稱為上半部。

軟中斷處理硬中斷未完成的工作,是一種推後執行的機制,屬於下半部。 

 檢視程序資訊  隨便用 ps -ef 或者 ps -aux 都可以。

但是要檢視啟動資訊,比如,由哪個使用者啟動,啟動位置在哪裡。

就必須 用 到 /proc/ 目錄了。 在這個目錄裡存放的都是程序檔案的資訊。(在linux系統裡 所有都是檔案)

1、用ps -ef |grep xxxxx 得到該程序的pid

2、輸入ls -l ,結果中 exe連結對應的就是可執行檔案的路徑
$ ls -l /proc/18283

以下是/proc目錄中程序N的資訊

/proc/N pid為N的程序資訊

/proc/N/cmdline 程序啟動命令

/proc/N/cwd 連結到程序當前工作目錄

/proc/N/environ 程序環境變數列表

/proc/N/exe 連結到程序的執行命令檔案

/proc/N/fd 包含程序相關的所有的檔案描述符

/proc/N/maps 與程序相關的記憶體對映資訊

/proc/N/mem 指代程序持有的記憶體,不可讀

/proc/N/root 連結到程序的根目錄

/proc/N/stat 程序的狀態

/proc/N/statm 程序使用的記憶體的狀態

/proc/N/status 程序狀態資訊,比stat/statm更具可讀性