分类:
2009-12-11 19:26:54
如果想在AIX上部署mtop(),目的就是可以直接用mtop,只需在root用户下复制、粘贴下面的一堆代码就可以了:
export FPATH=${FPATH=/functions}
grep -qw FPATH= /etc/profile || echo export FPATH=$FPATH >>/etc/profile
[ -d $FPATH ] || mkdir $FPATH
cat <<'!' >${FPATH}/mtop
function mtop {
#判断第一个参数是否是正整数
if ! (echo $1 | egrep -q ^[1-9][0-9]*$); then
cat <
Example: $0
$0 2
EOF
return
fi
#AIX6.1以前,普通用户不能使用svmon。
#解决方法:
[ -f /usr/lib/perf/svmon_back.64 ] && SVMON=/usr/lib/perf/svmon_back.64 || SVMON=/usr/bin/svmon
#sq means single quotation
#dq means double quotation
$SVMON -Pt $1 | awk -v sq="'" -v dq='"' '
/^--/{a=1}
$1=="Vsid"{
system("echo;ps alxww "pid"|awk -F: -v OFS=: "sq"length($0)>200{for(i=2;i<=NF;i++){gsub("dq" "dq","dq" )
a=0
}
a{print;if($1~/[1-9]/){pid=$1; s=s"\n"$1"\t"$3"\t"$3*4"\t\t"$2}}
END{print "\nSummary:\nPid\tInuse\tInuse_in_KBytes\tCommand"s}'
}
!
[ -f /usr/lib/perf/svmon_back.64 ] && chmod 555 /usr/lib/perf/svmon_back.64
之前实现的2项功能:
1、输出相关进程的命令全貌
2、对于长命令,在CMD中每个空格后补一个换行符
追加了4项功能:
3、判断参数是否正确,否则给出mtop()用法提示
4、结尾追加了summary部分
5、非root用户也可使用
6、用户登录后mtop()自动生效,但要求是KSH。
chinaunix网友2009-12-30 21:07:33
Happy new year! electronic at http://mp3dejay.com/Electronic/Genre-id299/