Shell脚本中停止Cassandra



您将使用什么shell命令来停止本地启动Cassandra ?有没有不用PID就能停止的?如果没有,可以使用什么命令在shell脚本中获取PID ?

请调整你的个人情况,因为你提到C *本地启动。

然而,你可以在你的脚本中使用这样的东西:

#!/bin/bash
PID=$(cat /var/run/cassandra/cassandra.pid)
sudo kill -9 $PID

如果您启动Cassandra时没有为PID指定文件,那么您将不得不做一些棘手的事情,像这样:

ps -ef | grep cassandra | grep "jmx.local.port=7199" | awk '{print $2}'
96165

基本上,您使用ps获取所有进程的状态,grepping " Cassandra ",然后grepping一些非常特定于Cassandra进程的东西(如端口7199上的本地JMX)。然后,如果在awk中使用管道,则可以很容易地拉出第二个以空格分隔的"列。

可能有一种更优雅的方式来做这件事,但它会工作的。

然后,作为具有cassandra进程权限的用户,您可以在该PID上运行kill。或者,您可以将所有这些都封装到一个命令中:

kill $(ps -ef | grep cassandra | grep "jmx.local.port=7199" | awk '{print $2}')

停止本地Cassandra实例取决于安装类型。

如果您已经将Cassandra安装为YUM (RHEL/CentOS)或APT (Debian)包,使用以下命令停止服务:

$ sudo service cassandra stop

如果您使用二进制tarball安装了Cassandra,您可以简单地使用:

$ pkill cassandra

请注意,如果您以root等其他用户运行Cassandra,则需要使用sudo来获得提升的权限。干杯!

相关内容

  • 没有找到相关文章

最新更新