Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / external / bsd / am-utils / dist / scripts / ctl-hlfsd.in
blobee0dd27ca15a99c3c4dd756cc9725de6433e63b0
1 #!/bin/sh
2 # control starting, stopping, or restarting hlfsd.
3 # usage: ctl-hlfsd [start | stop | restart]
5 # Package: am-utils-6.x
6 # Author: Erez Zadok <ezk@cs.columbia.edu>
8 # chkconfig: - 72 28
9 # description: hlfsd is a daemon similar to amd, used to redirect user
10 # mail to home directory of the user
11 # processname: hlfsd
14 # set path
15 prefix=@prefix@
16 exec_prefix=@exec_prefix@
17 PATH=@sbindir@:@bindir@:/usr/ucb:/usr/bin:/bin:${PATH}
18 export PATH
20 # kill the named process(es)
21 killproc()
23 # try bsd style ps
24 pscmd="ps axc"
25 pid=`${pscmd} 2>/dev/null | grep "$1" | sed -e 's/^ *//' -e 's/ .*//'`
26 if test "$pid" != ""
27 then
28 kill $pid
29 return 0
32 # try bsd44 style ps
33 pscmd="ps -x"
34 pid=`${pscmd} 2>/dev/null | grep "$1" | sed -e 's/^ *//' -e 's/ .*//'`
35 if test "$pid" != ""
36 then
37 kill $pid
38 return 0
41 # try svr4 style ps
42 pscmd="ps -e"
43 pid=`${pscmd} 2>/dev/null | grep "$1" | sed -e 's/^ *//' -e 's/ .*//'`
44 if test "$pid" != ""
45 then
46 kill $pid
47 return 0
50 # failed
51 return 1
54 # before running any real programs, chdir to / to avoid possible hangs on (NFS)
55 # mounts.
56 cd /
58 # locate logs directory
59 if [ -d /var/log ]; then
60 logdir="/var/log"
61 else
62 logdir="/tmp"
65 # locate the mail spool directory
66 if [ -d /var/mail/. ]; then
67 maildir="/var/mail"
68 altmaildir="/var/alt_mail"
69 elif [ -d /var/spool/mail/. ]; then
70 maildir="/var/spool/mail"
71 altmaildir="/var/spool/alt_mail"
72 else
73 maildir="/usr/spool/mail"
74 altmaildir="/usr/spool/alt_mail"
77 # locate any optional password file
78 if [ -f @sysconfdir@/passwd ]; then
79 PASSWD_FILE="-P @sysconfdir@/passwd"
80 else
81 PASSWD_FILE=""
84 case "$1" in
85 'start')
87 # Start the hlfsd mail redirector service
89 if [ -x @sbindir@/hlfsd -a -h $maildir ]
90 then
91 echo @sbindir@/hlfsd ${PASSWD_FILE} -a $altmaildir -x all -l $logdir/hlfsd /mail/home .mailspool
92 @sbindir@/hlfsd ${PASSWD_FILE} -a $altmaildir -x all -l $logdir/hlfsd /mail/home .mailspool &
93 test -x /var/lock/subsys && touch /var/lock/subsys/hlfsd
97 'stop')
98 # prepend space to program name to ensure only amd process dies
99 killproc " hlfsd"
100 test -f /var/lock/subsys/hlfsd && rm -f /var/lock/subsys/hlfsd
103 'restart')
104 # kill hlfsd, wait for it to die, then restart
105 echo "killing hlfsd..."
106 ctl-hlfsd stop
107 echo "Waiting for 10 seconds..."
108 sleep 10 # hope that would be enough
109 echo "Restarting hlfsd..."
110 ctl-hlfsd start
114 echo "Usage: @sbindir@/ctl-hlfsd [ start | stop | restart ]"
116 esac