首先创建脚本文件
vim impl.sh
然后输入以下脚本语句 从#!/bin/sh开始
#!/bin/sh
## java 路径
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export JRE_HOME=$JAVA_HOME/jre
## service name 声明变量
APP_NAME=pingTail_impl
#声明jar包所在目录
SERVICE_DIR=/usr/local/pingTai_project/service/$APP_NAME
#声明jar名
JAR_NAME=$APP_NAME\.jar
#jar包pid
PID=$APP_NAME\.pid
#进入jar包所在目录
cd $SERVICE_DIR
#匹配输入的变量 start(启动) stop(停止) restart(重启) *(任意字符,这里让它执行重启)
# nohup说明 $JRE_HOME/bin/java -Xms256m -Xmx512m -jar 相当于window中cmd jar -jar *.jar ,-Xms256m -Xmx512m为设置最小最大内存 >impl.log 会在该SERVICE_DIR 内生成impl.log
case "$1" in
start)
nohup $JRE_HOME/bin/java -Xms256m -Xmx512m -jar $JAR_NAME >impl.log 2>&1 &
echo $! > $SERVICE_DIR/$PID
echo "=== start $SERVICE_NAME"
;;
stop)
kill `cat $SERVICE_DIR/$PID`
rm -rf $SERVICE_DIR/$PID
echo "=== stop $SERVICE_NAME"
sleep 5
##
## edu-service-aa.jar
## edu-service-aa-bb.jar
P_ID=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "=== $SERVICE_NAME process not exists or stop success"
else
echo "=== $SERVICE_NAME process pid is:$P_ID"
echo "=== begin kill $SERVICE_NAME process, pid is:$P_ID"
kill -9 $P_ID
fi
;;
restart)
$0 stop
sleep 2
$0 start
echo "=== restart $SERVICE_NAME"
;;
*)
## restart
$0 stop
sleep 2
$0 start
;;
esac
exit 0
-----------------------------------------------------------------------------------------------------------------
以上就是linux运行jar包命令脚本
然后赋予脚本文件权限
chmod u+x impl.sh
这里由于和脚本文件在同目录下,故没带脚本文件所在目录
赋权限之后 执行./impl.sh start即可运行jar包
最后监听jar包是否启动成功
tail -f impl.log

本文介绍如何在Linux系统中创建并执行jar包运行脚本。首先,通过vim创建impl.sh脚本,设置JAVA_HOME和JRE_HOME路径,定义应用名称和jar包信息。接着,使用case语句实现start、stop和restart操作,例如用nohup启动jar包,并将日志输出到impl.log。最后,赋予脚本执行权限并使用tail -f检查日志确认启动状态。

被折叠的 条评论
为什么被折叠?



