Posted on 2009-11-12 10:26
Prayer 閱讀(715)
評論(0) 編輯 收藏 引用 所屬分類:
Shell 、
U基礎管理
我發現很多玩AIX好多年的人都搞不清ps命令中的那個“-”,到底是應該用ps -elf、ps aux呢?還是應該用ps elf、ps -aux呢?
先 man一下ps 看看吧,你會發現AIX下的ps命令有兩種語法格式:一種叫X/Open標準,一種叫Berkeley標準。
ps Command
Purpose
Shows current status of processes.
Syntax
X/Open Standards
ps [ -A ] [ -N ] [ -a ] [ -d ] [ -e ] [ -f ] [ -k ] [ -l ] [ -F format] [ -o
Format ] [ -c Clist ] [ -G Glist ] [ -g Glist ] [ -m ] [ -n NameList ] [ -p
Plist ] [ -t Tlist ] [ -U Ulist ] [ -u Ulist ]
Berkeley Standards
ps [ a ] [ c ] [ e ] [ ew ] [ eww ] [ g ] [ n ] [ U ] [ w ] [ x ] [ l | s | u |
v ] [ t Tty ] [ ProcessNumber ]
現在你會知道ps -elf、ps aux是正確的寫法,而ps elf、ps -aux自然就是錯誤的了。這其實是個很容易被忽視的小問題,所以很多人玩AIX的人總是搞錯。我接觸AIX之前,恰好學過一端時間的SOLARIS,所以一開始就注意到了這個細節。SOLARIS也有兩個版本的ps,一個是默認的System V 版本,如:/usr/bin/ps -elf;一個是非默認的BSD版本,如:/usr/ucb/ps -aux。
BSD的意思相信大家都知道,是Berkeley Software Distribution(巴克利軟件發行版)的縮寫。那ucb是什么意思呢?其實是
University of California, Berkeley (加州大學巴克利分校)的縮寫。看,這兩個都是縮寫里 都有Berkeley。好了,說的這里,我看就沒必要繼續再羅嗦下去了。用GOOGLE搜一下“UNIX歷史”、“University of California, Berkeley”、“System V”這些關鍵字,相信INTERNET上有很多詳細說明它們之間關系的文章。知道點兒UNIX的歷史,其實是件很有趣的事情。
至于AIX的man中提到的“X/Open標準”和“System V 版本”是什么關系,我也不知道,也懶得搞清楚了,想必它們之間一定是有聯系的。如果你想知道細情,那還是用GOOGLE搜吧,呵呵。
最后總結一下AIX中ps命令,你只要記兩個命令就好了——ps -elf和ps aux。ps -elf是System V風格,同SOLARIS的ps -elf;ps aux是BSD風格,同SOLARIS的/usr/ucb/ps -aux,估計LINUX和FREEBSD都用aux參數。另外,我的經驗是:ps 的其它參數都不是很常用,只要死記住這兩組參數,必要的時候會活用成ps -el、ps -e、ps ax之類的就夠了。當然你還要熟悉一下這兩組參數的命令輸出中的每一列的含義,這個在man里都有寫的,我也就不多說了。