Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
848 dpurdie 1
#!/bin/sh
850 mhunt 2
#set -x
848 dpurdie 3
#
914 dpurdie 4
# Start, stop buildtool
848 dpurdie 5
#
6
# Note: This must be a 'sh' compatible script
7
#       Solaris8 uses sh to source the script. It is not run at startup
8
#
9
# Note: This file should be installed into /etc/init.d
914 dpurdie 10
#
11
# Note: Use /etc/init.d/buildtool setup
12
#        to perform additional setup of adding files to setup sequence
13
#
848 dpurdie 14
 
15
pid=0
16
#pid null if not running, pid if running
17
check_running() {
18
        pid=`ps -fe|grep java|grep abtdD.jar|awk '{print $2}'`
19
}
20
 
914 dpurdie 21
#
22
# Start daemons.
23
#
848 dpurdie 24
start() {
914 dpurdie 25
    check_running
26
    if [ "$pid" ]; then
848 dpurdie 27
          echo 'running'
914 dpurdie 28
    else
848 dpurdie 29
          echo 'starting'
894 mhunt 30
          su - buildadm -c 'source /etc/profile;unset GBE_PLATFORM;jats -NoExportVars eprog /home/buildadm/buildtool/abtlaunch 2>/tmp/buildtool 1>&2' &
914 dpurdie 31
    fi
848 dpurdie 32
}
33
 
914 dpurdie 34
#
35
# Stop daemons.
36
#
848 dpurdie 37
stop() {
914 dpurdie 38
    check_running
39
    echo "check_running returned $pid"
848 dpurdie 40
 
914 dpurdie 41
    if [ "$pid" ]; then
850 mhunt 42
        for kpid in $pid ; do
43
            echo "killing $kpid"
44
            kill -9 $kpid 2>/dev/null 1>&2
45
        done
914 dpurdie 46
    else
47
        echo 'not running'
48
    fi
848 dpurdie 49
}
50
 
914 dpurdie 51
#
52
#   Status the daemons
53
#
848 dpurdie 54
status() {
914 dpurdie 55
    check_running
848 dpurdie 56
 
914 dpurdie 57
    if [ "$pid" ]; then
58
          echo 'buildtool running'
59
    else
60
          echo 'buildtool not running'
61
    fi
848 dpurdie 62
}
63
 
914 dpurdie 64
#
65
#   Setup init levels
66
#   Linux and Solaris are different
67
#
68
setup() {
69
    if [ ! -f /etc/init.d/buildtool ] ; then
70
        echo "Error: /etc/init.d/buildtool does not exist"
71
        exit 1
72
    fi
73
 
74
    mtype=`uname`
75
    case "$mtype" in
76
    Linux)
77
        for ii in 2 3 4 5; do
78
            file=/etc/rc.d/rc$ii.d/S80buildtool
79
            [ -f $file ] || ln -s /etc/init.d/buildtool $file
80
        done
81
 
82
        for ii in 0 1 6 ; do 
83
            file=/etc/rc.d/rc$ii.d/K30buildtool
84
            [ -f $file ] || ln -s /etc/init.d/buildtool $file
85
        done
86
        ;;
87
 
88
    SunOS)
89
        for ii in 2 3; do
90
            file=/etc/rc$ii.d/S80buildtool
91
            [ -f $file ] || ln -s /etc/init.d/buildtool $file
92
        done
93
 
94
        for ii in 0 1 S ; do 
95
            file=/etc/rc$ii.d/K30buildtool
96
            [ -f $file ] || ln -s /etc/init.d/buildtool $file
97
        done
98
        ;;
99
 
100
    *)
101
        echo "$0 setup - Unknown machine type: $mtype"
102
        exit 1
103
        ;;
104
    esac        
105
}
106
 
107
#
108
#   Determine user command
109
#
848 dpurdie 110
case "$1" in
914 dpurdie 111
  start)    setup
112
            start
113
            ;;
114
  stop)     stop
115
            ;;
116
  status)   status
117
            RETVAL=$?
118
            ;;  
119
  restart)  stop
120
            start
121
            ;;
122
  setup)    setup
123
            ;;   
124
  *)        echo "Usage: $0 {start|stop|restart|status|setup}"
125
            exit 1
126
            ;;
848 dpurdie 127
esac
128
 
129
exit $RETVAL
914 dpurdie 130