| #!/bin/bash |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| # qpid.stopall script |
| # |
| # Script attempts to stop all PROGRAMs running under the current user |
| # Utilises qpid.stop to perform the actual stopping |
| # |
| |
| PROGRAM="DQPID" |
| |
| # |
| # grep ps for instances of $PROGRAM and collect PIDs |
| # |
| lookup() |
| { |
| #pids=`ps o pid,command | grep $PROGRAM | grep -v grep | cut -d ' ' -f 1` |
| pids=`ps -ef |grep $USER | grep $PROGRAM | grep -v grep | awk '{print $2}'` |
| result=`echo -n $pids | wc -w` |
| } |
| |
| |
| # |
| # Show the PS output for given set of pids |
| # |
| showPids() |
| { |
| ps -o user,pid,args -p $pids |
| } |
| |
| |
| # |
| # Main Run |
| # |
| |
| lookup |
| |
| if [[ $[$result] == 0 ]] ; then |
| echo "No Qpid Brokers found running under user '$USER'" |
| exit 0 |
| fi |
| |
| for pid in $pids ; do |
| |
| qpid.stop $pid |
| |
| done |
| |
| # Check we have quit all |
| lookup |
| |
| if [[ $[$result] == 0 ]] ; then |
| echo "All Qpid brokers successfully quit" |
| else |
| echo "Some brokers were not quit" |
| showPids $pids |
| fi |