要理解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随系统自动启动。
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。
startsrc [ -a Argument] [ -e Environment] [ -h Host] { -s Subsystem | -g Group}
启动Subserver
startsrc [ -h Host] -t Type [ -o Object] [ -p SubsystemPID]
相应的停止Subsystem/Subserver使用stopsrc命令。
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命令来刷新服务的状态,而不需要先停止再启动。
lssrc则可以查看Subsystem/Subserver的运行状态,例如,在AIX5.3上运行该命令的结果如下:
查看所有Subsystem
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
Subsystem Group PID Status
inetd tcpip 95222 active
查看所有Subserver
#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
Service Command Description Status
shell /usr/sbin/rshd rshd active
具体每个命令的用法和参数请参考man。除了命令行方式,也可以通过smit来管理subsystem和subserver
smit subserver

