]>
Commit | Line | Data |
---|---|---|
1 | ## | |
2 | # Common setup for startup scripts. | |
3 | ## | |
4 | # Copyright 1998-2002 Apple Computer, Inc. | |
5 | ## | |
6 | ||
7 | ####################### | |
8 | # Configure the shell # | |
9 | ####################### | |
10 | ||
11 | ## | |
12 | # Be strict | |
13 | ## | |
14 | #set -e | |
15 | set -u | |
16 | ||
17 | ## | |
18 | # Set command search path | |
19 | ## | |
20 | PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices; export PATH | |
21 | ||
22 | ## | |
23 | # Set the terminal mode | |
24 | ## | |
25 | #if [ -x /usr/bin/tset ] && [ -f /usr/share/misc/termcap ]; then | |
26 | # TERM=$(tset - -Q); export TERM | |
27 | #fi | |
28 | ||
29 | #################### | |
30 | # Useful functions # | |
31 | #################### | |
32 | ||
33 | ## | |
34 | # Determine if the network is up by looking for any non-loopback | |
35 | # internet network interfaces. | |
36 | ## | |
37 | CheckForNetwork() | |
38 | { | |
39 | local test | |
40 | ||
41 | if [ -z "${NETWORKUP:=}" ]; then | |
42 | test=$(ifconfig -a inet 2>/dev/null | sed -n -e '/127.0.0.1/d' -e '/0.0.0.0/d' -e '/inet/p' | wc -l) | |
43 | if [ "${test}" -gt 0 ]; then | |
44 | NETWORKUP="-YES-" | |
45 | else | |
46 | NETWORKUP="-NO-" | |
47 | fi | |
48 | fi | |
49 | } | |
50 | ||
51 | alias ConsoleMessage=echo | |
52 | ||
53 | ## | |
54 | # Process management | |
55 | ## | |
56 | GetPID () | |
57 | { | |
58 | local program="$1" | |
59 | local pidfile="${PIDFILE:=/var/run/${program}.pid}" | |
60 | local pid="" | |
61 | ||
62 | if [ -f "${pidfile}" ]; then | |
63 | pid=$(head -1 "${pidfile}") | |
64 | if ! kill -0 "${pid}" 2> /dev/null; then | |
65 | echo "Bad pid file $pidfile; deleting." | |
66 | pid="" | |
67 | rm -f "${pidfile}" | |
68 | fi | |
69 | fi | |
70 | ||
71 | if [ -n "${pid}" ]; then | |
72 | echo "${pid}" | |
73 | return 0 | |
74 | else | |
75 | return 1 | |
76 | fi | |
77 | } | |
78 | ||
79 | ## | |
80 | # Generic action handler | |
81 | ## | |
82 | RunService () | |
83 | { | |
84 | case $1 in | |
85 | start ) StartService ;; | |
86 | stop ) StopService ;; | |
87 | restart) RestartService ;; | |
88 | * ) echo "$0: unknown argument: $1";; | |
89 | esac | |
90 | } | |
91 | ||
92 | ########################## | |
93 | # Get host configuration # | |
94 | ########################## | |
95 | . /etc/hostconfig |