Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19268810
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-05-11 22:23:22

一直以为自己写的东西没人看,所以最近一段时间就有点犯懒了。不过今天突然发现自己的几篇文章被别人引用了,所以很兴奋,那还是写点东西吧。

    虽然我写的东西都很简单,但相信看的人都能有所收获,呵呵。

    我发现很多玩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里都有写的,我也就不多说了。

阅读(1963) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~