首先创建脚本文件
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