mirror of https://github.com/apache/cassandra
75 lines
2.1 KiB
Bash
Executable File
75 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# 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.
|
|
|
|
show_help()
|
|
{
|
|
echo "Usage: $0 [-p <pidfile>] | [-l] | [-e] | [-h]"
|
|
echo " -p <pidfile> Stop the process using the specified pidfile"
|
|
echo " -l Stop the process with the name like 'cassandra'"
|
|
echo " -e Stop the process with the name equal 'CassandraDaemon'"
|
|
echo " -h Show the help message"
|
|
}
|
|
|
|
kill_processes()
|
|
{
|
|
pids=$(pgrep -u "$(whoami)" -f "${1}")
|
|
if [ -n "$pids" ]; then
|
|
echo "$pids" | xargs kill -9
|
|
fi
|
|
}
|
|
|
|
if [ $# -eq 0 ]; then
|
|
show_help
|
|
exit 1
|
|
fi
|
|
|
|
case "$1" in
|
|
-p)
|
|
if [ -z "$2" ]; then
|
|
echo "missing pidfile argument after -p"
|
|
exit 1
|
|
fi
|
|
if [ ! -f "$2" ]; then
|
|
echo "pidfile $2 does not exist"
|
|
exit 1
|
|
fi
|
|
# if you are using the cassandra start script with -p, this
|
|
# is the best way to stop:
|
|
kill "$(cat "$2")"
|
|
;;
|
|
-l)
|
|
# you can run something like this, but
|
|
# this is a shotgun approach and will kill other processes
|
|
# with cassandra in their name or arguments too:
|
|
kill_processes cassandra
|
|
;;
|
|
-e)
|
|
kill_processes org.apache.cassandra.service.CassandraDaemon
|
|
;;
|
|
-h)
|
|
show_help
|
|
exit 0
|
|
;;
|
|
*)
|
|
show_help
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|