jar启动脚本
新建一个start.sh文件,编辑内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #!/bin/sh NOW_PATH=$(cd `dirname $0 `; pwd ) JAR_DIR=`ls -ltr $NOW_PATH /*.jar| tail -1` JAR_NAME=${JAR_DIR##*/} LOG_NAME=${JAR_NAME%%.*} PID=$LOG_NAME \.pid case "$1 " in start) nohup java -Xms256m -Xmx1024m -jar $JAR_NAME --spring.profiles.active=test > logs/$LOG_NAME .log 2>&1 & ;; stop) echo "=== stop $JAR_NAME " ps -ef|grep $JAR_NAME |grep -v grep |awk '{print $2}' |xargs kill -9 ;; restart) $0 stop sleep 2 $0 start echo "=== restart $LOG_NAME " ;; *) echo "Usage:$0 {start|stop|restart}" ;; esac exit 0
该文件放在jar包同级目录下,并新建logs文件夹 具体命令 如下: 启动 ./start.sh start 停止 ./start.sh stop 重启 ./start.sh restart 一个服务对应一个脚本,用文件夹隔离,别用来批量启动jar,即一个文件夹里最好是只放一个jar
1 2 3 4 -Xms256m初始内存 -Xmx1024m最大内存 --spring.profiles.active=test 指定配置文件 例如指定application-test.yml
查看内存使用情况
1 top -o %MEM -b -n 1 | grep java | awk '{print "PID: "$1" \t 虚拟内存: "$5" \t 物理内存: "$6" \t 共享内存: "$7" \t CPU使用率: "$9"% \t 内存使用率: "$10"%"}'
查看服务是否启动的脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/bin/bash service_names=( 'xx1' 'xx2' 'xx3' ) for (( i=0;i<${#service_names[@]} ;i++)) do result=$(jps | grep "${service_names[i]} " ) if [[ "$result " == "" ]] then echo "${service_names[i]} is not started" fi done ;exit 0