要理解SRC(System Resource Controller),首先需要介绍另外两个概念:子系统(Subsystem)和子服务器(Subserver)。Subsystem是一组相关可独立控制的进程或者程序的集合,而Subserver则就是其中的某一个进程或者程序,一组相关功能的Subsystem则属于一个Group。SRC则是用来控制Subsystem或者Subserver的一个后台守护进程。对于各个Subsystem的启动,停止或者查看状态都提供了统一的接口,有点类似于windows里的net start/net stop命令来控制windows的服务的意思。SRC可以控制本地或者远程系统。
SRC的守护进程是/etc/sbin/srcmstr,通过/etc/inittab随系统自动启动。
NinGoo:/>#ps -ef | grep srcmstr
root 82706 1 0 Nov 20 – 0:00 /usr/sbin/srcmstr
root 2999112 2847112 0 23:19:01 pts/0 0:00 grep srcmstr
NinGoo:/>#grep srcmstr /etc/inittab
srcmstr:23456789:respawn:/usr/sbin/srcmstr # System Resource Controller
启动一个Subsystem或者Subserver使用startsrc命令,如果要启动的Subserver所属的Subsystem没有启动,则在启动Subserver前会先启动对应的Subsystem。
启动Subsystem
startsrc [ -a Argument] [ -e Environment] [ -h Host] { -s Subsystem | -g Group}
启动Subserver
startsrc [ -h Host] -t Type [ -o Object] [ -p SubsystemPID]
相应的停止Subsystem/Subserver使用stopsrc命令。
停止Subsystem
stopsrc [ -h Host] [ -f | -c] { -a | -g Group | -p SubsystemPID | -s Subsystem }
停止Subserver
stopsrc [ -h Host] [ -f] -t Type [ -p SubsystemPID] [ -P SubserverPID | -o Object]
如果某个Subsystem的配置发生变更,则可以使用refresh命令来刷新服务的状态,而不需要先停止再启动。
refresh [ -h Host] { -g Group| -p SubsystemPID| -s Subsystem}
lssrc则可以查看Subsystem/Subserver的运行状态,例如,在AIX5.3上运行该命令的结果如下:
查看所有Subsystem
NinGoo:/>#lssrc -a
Subsystem Group PID Status
syslogd ras 103192 active
portmap portmap 131566 active
sendmail mail 119310 active
inetd tcpip 95222 active
…
xntpd tcpip 705004 active
lpd spooler inoperative
LUMlmd lumls inoperative
LUMgdb lumls inoperative
rwhod tcpip inoperative
…
dtsrc inoperative
grpglsm grpsvcs inoperative
rpc.lockd nfs inoperative
rpc.statd nfs inoperative
查看某个Subsystem
lssrc -s inetd
Subsystem Group PID Status
inetd tcpip 95222 active
查看所有Subserver
NinGoo:/>#lssrc -T
#sub_type:subsysname:sub_code:
ftp:inetd:21:
uucp:inetd:540:
telnet:inetd:23:
shell:inetd:514:
login:inetd:513:
exec:inetd:512:
finger:inetd:79:
tftp:inetd:69:
ntalk:inetd:518:
echo:inetd:7:
discard:inetd:9:
chargen:inetd:19:
daytime:inetd:13:
time:inetd:37:
comsat:inetd:1512:
bootps:inetd:67:
systat:inetd:11:
netstat:inetd:15:
klogin:inetd:543:
kshell:inetd:544:
imapd:inetd:143:
pop3d:inetd:110:
查看某个具体的Subserver
NinGoo:/>#lssrc -t shell
Service Command Description Status
shell /usr/sbin/rshd rshd active
具体每个命令的用法和参数请参考man。除了命令行方式,也可以通过smit来管理subsystem和subserver
smit subsys
smit subserver
