~ubuntu-branches/ubuntu/precise/torque/precise-updates

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