项目启动脚本
startup.sh
#! /bin/bash
nohup java -Xms512m -Xmx512m -jar ./myJavaProject.jar &
脚本解释可参考
项目停止脚本
shutdown.sh
#! /bin/bash
PIDS=`ps -ef|grep myJavaProject.jar | grep -v grep |awk '{print $2}'`
echo "$PIDS"
if [ "$PIDS" ]
then
echo "stop myJavaProject.jar....."
kill -9 "$PIDS"
else
echo "myJavaProject.jar not run."
fi
重点
PIDS=
ps -ef|grep myJavaProject.jar | grep -v grep |awk '{print $2}'
逐步解释每个部分的含义:
-
ps -ef:这是一个用于在 Linux/Unix 系统上查看当前运行进程的命令。它会列出所有进程的详细信息。
-
grep myJavaProject.jar:通过使用 grep 命令,我们可以在进程列表中筛选出包含 “myJavaProject.jar” 字符串的行。这样我们就只关注与我们的 Java 项目相关的进程。
-
grep -v grep:grep -v 命令用于排除包含 “grep” 字符串的行。在这种情况下,我们排除了 grep myJavaProject.jar 命令本身所产生的行。
-
awk ‘{print $2}’:awk 是一个文本处理工具,用于从每行中提取特定的列。在这里,‘{print $2}’ 表示打印每行的第二列,即进程的 PID(进程 ID)。
因此,这个命令的含义是:从运行的进程列表中查找包含 “myJavaProject.jar” 字符串的进程,并提取这些进程的 PID赋给PIDS变量。
项目重启脚本
restart.sh
#! /bin/bash
PIDS=`ps -ef|grep myJavaProject.jar | grep -v grep |awk '{print $2}'`
echo "$PIDS"
if [ "$PIDS" ]
then
echo "stop myJavaProject.jar....."
kill -9 "$PIDS"
else
echo "myJavaProject.jar not run."
fi
echo "start myJavaProject.jar....."
sh ./start.sh
STARTPID=`ps -ef|grep myJavaProject.jar | grep -v grep |awk '{print $2}'`
echo "start myJavaProject.jar end PID:"$STARTPID