listing of daemons running on a unix server
Lance S. Nehring
lnehrin at uswest.com
Wed Dec 9 19:01:42 GMT 1998
Luke Kenneth Casson Leighton wrote:
> PLEASE REPLY TO SAMBA-TECHNICAL, THANKS
> is there a way to obtain a list of daemons running? is there a method for
> starting / stopping them?
I'm not aware of any UNIX standard way of asking which daemons are alive.
Each daemon is expected to be well-behaved and write error messages via the
syslog facility. That leaves two options:
1) Use the ps command (or C function calls - e.g. pstat_getproc() on HP-UX)
to get information on running executables by name. This assumes you know
the daemons' true name.
2) Use lsof (or some functions from it's source) to look up processes that
have a particular file of network socket open. Here's a very small example
of what lsof tells me about one of my concurrent TCP servers running on port
6968. It shows the listener and two forked children that each have an
lsof -i TCP:6968
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
wmsps 2064 wms 4u inet 0x07419e00 0t0 TCP *:6968 (LISTEN)
wmsps 3141 wms 5u inet 0x07e7ca00 0t93815 TCP larry:6968->curly:2006
wmsps 3142 wms 5u inet 0x0803d900 0t94356 TCP larry:6968->curly:2008
> on slackware, for example, /etc/rc.d/pcmcia.d has "start|stop|restart"
> which isn't particularly good. on redhat there is a directory where every
> script in it has "start|stop|restart".
> what i really wanted was something under program control (c code),
> although scripts would do. and yet another smb.conf option listing where
> a file is that contains the scripts.
You'll probably want to be constrained to using the RC scripts for starting
and stopping the daemons. They are expected to contain all the necessary
housekeeping tasks (e.g. setting up an environment) for a particular daemon
and provide the single point for doing so.
> why i am asking is because i have "service control manager" running on the
> latest version of samba, and i wanted to start / stop / restart httpd,
> imapd, syslogd etc etc.
Why is samba wanting to control httpd, imapd or syslogd? These are not
samba-specific daemons and the OS will need to control them based on the
runlevel (using the RC scripts) whether samba is alive or not. Just
Lance S. Nehring <lnehrin at uswest.com>
More information about the samba-technical