1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#!/bin/sh
#
# pbs_mom This script will start and stop the PBS Mom
#
# chkconfig: 345 95 5
# description: TORQUE/PBS is a versatile batch system for SMPs and clusters
#
ulimit -n 32768
# Source the library functions
. /etc/rc.d/init.d/functions
PBS_DAEMON=/usr/local/sbin/pbs_mom
PBS_HOME=/var/spool/torque
export PBS_DAEMON PBS_HOME
if [ -f /etc/sysconfig/pbs_mom ];then
. /etc/sysconfig/pbs_mom
fi
args=""
if [ -z "$previous" ];then
# being run manually, don't disturb jobs
args="-p"
fi
pidof_pbs_mom() {
pid="-1"
if [ -f $PBS_HOME/mom_priv/mom.lock ];then
pid=`cat $PBS_HOME/mom_priv/mom.lock`
fi
echo $pid
}
kill_pbs_mom() {
pid=`pidof_pbs_mom`
if [ $pid -le 1 ];then
return -1;
fi
retval=1
while kill -0 $pid 2>/dev/null;do
kill -TERM $pid
retval=$?
sleep 1
done
return $retval
}
# how were we called
case "$1" in
start)
echo -n "Starting TORQUE Mom: "
daemon $PBS_DAEMON $args
RET=$?
touch /var/lock/subsys/pbs_mom
echo
;;
purge)
[ -f /var/lock/subsys/pbs_mom ] && $0 stop
echo -n "Starting TORQUE Mom with purge: "
daemon $PBS_DAEMON -r
RET=$?
touch /var/lock/subsys/pbs_mom
echo
;;
stop)
echo -n "Shutting down TORQUE Mom: "
kill_pbs_mom
RET=$?
[ $RET -eq 0 ] && success "shutdown" || failure "shutdown"
echo
rm -f /var/lock/subsys/pbs_mom
;;
status)
status pbs_mom
RET=$?
;;
restart)
$0 stop
sleep 1
$0 start
;;
reload)
echo -n "Re-reading TORQUE Mom config file: "
kill -SIGHUP `pidof_pbs_mom`
RET=$?
[ $RET -eq 0 ] && success "HUP" || failure "HUP"
echo
;;
*)
echo "Usage: pbs_mom {start|stop|restart|reload|status|purge}"
exit 1
esac
exit $RET
|