- Purpose of SRC
- Parts of SRC
- Commands involved in SRC
Purpose of SRC
- A set of commands that make it very easy for the system administrators to maintain and manage the subsystems and subservers running on the system .
- The subsystems and subservers are commonly called as “daemons”.
- SRC allows us to stop, start, trace, list and refresh daemons.
- SRC is started during the system initialization with a record for /usr/bin/srcmstr daemon in the /etc/inittab file
If the “srcmstr” daemon stops abnormally, the respawn action specified in /etc/inittab restarts the daemon.
Components of SRC
There are 3 important components in the SRC
Subgroup –> SubSystem –> SubServer
A subserver is a program or process that belongs to a subsystems, usually called daemons.
Ex: ftpd, telnetd are good examples of subservers.
A “subsystem” is a program or process ( a group of program or process) that perform related functions . Subsystems can be further divided into subservers.
Ex: inetd, gated, routed, named etc.,
A group of any specified subsystems. Grouping subsystems together allows the control of several subsystems at one time.
Ex: TCP/IP, NIS, NFS , spooler
#lssrc -g spooler
subsystem Group PID Status
qdaemon spooler 8022 active
writesrv spooler 9558 active
lpd spooler inoperative
The following derives the relationship between subsystem/subservers and subsystem group that are taken care by SRC
1) lssrc -t
2) lssrc -s
3) lssrc -g
4) lssrc -p 4) startsrc -g
5) stopsrc -g
6) startsrc -s
7) stopsrc -s
8) startsrc -t
9) stopsrc -t
10) refresh <sg,ss,srvs>
11) mkssys –> To add subsystem
12) rmssys -s < SS> –> To remove the subsystem
13) chssys –> Change the subsystem attributes
Create your own SRC subsystem
Using “mkssys” command to register the your new subsystem under the control of SRC
#mkssys -s example -p /usr/local/sample/script.sh -u $(uid -u user) -S -n 15 -f 9 -R -Q
|-s||Name of the new subsystem|
|-p||Full path to executable program / shell script.|
|-u||Numeric uid for subsystem execution. Must be a defined user.|
|-i, -o, -e||Standard input, output, error devices. Default is /dev/console|
|-a||Arguments to the executable.|
|-G||Group name for related subsystems.|
|-K, -S, -I||Method of communications (Sockets [-K], Signals [-S], or Messages [-I]). Default is Sockets.|
|-n, -f||The signal numbers used for normal (-n), or forced (-f), subsystem stop, if signals are used for communications.|
|-E||“Nice” value for subsystem execution priority.|
|-R, -O||Automatic restart (-R), or abort (-O) on abnormal termination. Whether to respawn or not.|
|-Q, -q||Single (-Q), or multiple (-q) instances allowed.|
|-w||Wait time between a normal and forced stop.|