分类:
2006-05-19 01:19:48
第一, 概念
1、 第一次看书的时候给这个名字蒙了。老觉得跟lvm资源管理器类似,现在看看:AIX中有一个管理守候进程的特殊进程,就是系统资源管理器(SRC)。
2、 SubSystem可以是一个程序或进程,或者一组程序或进程。一个子系统一般作为一个单元提供特定的功能。
3、 SubServer是一个属于子系统的程序或进程。
4、 许多子系统按照某种属性组成子系统组(SubSystem Group),一个子系统组可以在同一时刻集中控制多个子系统。例如TCP/IP,SNA,NIS,NFS等等。
5、 SRC结构如下:
系统——>子系统组——>子系统——>子服务器
实例: TCPIP——>inetd——>echo /ftp/telnet等子服务器
6、 启动SRC
SRC是srcmstr守候进程提供,而srcmstr由init进程启动之,并且一直运行。不会中断。断了也会重启。
# ps -ef |grep srcmstr
root 6196 1 0 09:23:00 - 0:00 /usr/sbin/srcmstr
root 15012 13952 1 10:40:23 pts/0 0:00 grep srcmstr
# kill -9 6196
# ps -ef |grep srcmstr
root 4210 13952 1 10:42:37 pts/0 0:00 grep srcmstr
root 6198 1 0 10:42:25 - 0:00 /usr/sbin/srcmstr
上面看到srcmstr被kill之后马上就重启了。 变了个pid。
第二、src命令
1、lssrc(节选运行结果)
# lssrc -a
Subsystem Group PID Status
syslogd ras 7226 active
qdaemon spooler 11098 active
writesrv spooler 11360 active(运行正常)
lpd spooler inoperative
dhcpcd tcpip inoperative(没有运行)
十分清楚,难得aix那么详细显示结果。
特别说明,lssrc [-h host] 这个参数表示显示远程机器的src,前提是远程主机配置成可以接受远程SRC请求,同时配置好/etc/hosts/equitv或.rhosts文件。
2、startsrc、stopsrc、refresh命令
这3个命令类似,作用可以在名字上看处理。而觉得比较困难的一个事情是,如果知道具体那个Subserves属于那个Subsystem,当然使用最多的是inetd子系统吧。可以如下取出子系统下的子服务器。
# lssrc -l -s inetd
Subsystem Group PID Status
inetd tcpip 7998 active
Debug Not active
Signal Purpose
SIGALRM Establishes socket connections for failed services.
SIGHUP Rereads the configuration database and reconfigures services.
SIGCHLD Restarts the service in case the service ends abnormally.
Service Command Description Status
ftp /usr/sbin/ftpd ftpd active
websm /usr/websm/bin/wsmserver wsmserver -start active
cmsd /usr/dt/bin/rpc.cmsd cmsd 100068 2-5 active
dtspc /usr/dt/bin/dtspcd /usr/dt/bin/dtspcd active
ttdbserver /usr/dt/bin/rpc.ttdbserver rpc.ttdbserver 100083 1 active
time internal active
chargen internal active
discard internal active
echo internal active
time internal active
daytime internal active
chargen internal active
echo internal active
pcnfsd /usr/sbin/rpc.pcnfsd pcnfsd 150001 1-2 active
sprayd /usr/lib/netsvc/spray/rpc.sprayd sprayd 100012 1 active
rwalld /usr/lib/netsvc/rwall/rpc.rwalld rwalld 100008 1 active
rusersd /usr/lib/netsvc/rusers/rpc.rusersd rusersd 100002 1-2 active
rstatd /usr/sbin/rpc.rstatd rstatd 100001 1-3 active
exec /usr/sbin/rexecd rexecd active
klogin /usr/sbin/krlogind krlogind active
login /usr/sbin/rlogind rlogind active
kshell /usr/sbin/krshd krshd active
shell /usr/sbin/rshd rshd active
telnet /usr/sbin/telnetd telnetd -a active