引言
我所使用的是三台Linux虚拟机组成的集群,每次执行jps命令查看各机器当前Java进程的时候非常麻烦,需要从主节点ssh到其他节点,然后执行jps命令再退出。
因此,我决定写一个Shell脚本,在主节点执行并查看。
具体步骤
- 在任意目录输入命令
vi mycall.sh
,新建该文件并编辑。 - jps命令的执行程序是在Java安装目录下的bin目录。mycall.sh具体内容如下,其中,master、slave1、slave2为我在三台虚拟机/etc/hosts目录下都配置好的IP和主机名的映射,若没有配置,则写IP地址。
#!/bin/bash
case $1 in
"jps"){
for i in master slave1 slave2
# 或者 for i in 172.16.29.94 172.16.29.95 172.16.29.96
do
echo "**********$i**********"
ssh $i "$JAVA_HOME/bin/jps"
done
};;
esac
- mycall.sh文件保存、退出编辑后,执行命令
chmod 777 mycall.sh
,更改文件权限。 - 执行命令
./mycall.sh jps
,结果如下。