listing of daemons running on a unix server

Lance S. Nehring lnehrin at
Wed Dec 9 19:01:42 GMT 1998

Luke Kenneth Casson Leighton wrote:


> 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
accepted socket.

lsof -i TCP:6968
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>

> luke

More information about the samba-technical mailing list