此脚本用来管理 SpringBoot 项目的进程状态。有提示功能。把脚本丢到项目文件夹, 添加执行权限即可。
如果 jenkins 使用这个脚本, 需要在 java -jar 命令前添加 BUILD_ID=dontKillMe , 不然 jenkins 会杀掉进程。
参考: https://stackoverflow.com/que…
脚本维护在 github, 有需求的话可以关注:https://github.com/junbaor/sh…
spring-boot.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 1#!/bin/bash
2
3SpringBoot=$2
4
5if [ "$1" = "" ];
6then
7 echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
8 exit 1
9fi
10
11if [ "$SpringBoot" = "" ];
12then
13 echo -e "\033[0;31m 未输入应用名 \033[0m"
14 exit 1
15fi
16
17function start()
18{
19 count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
20 if [ $count != 0 ];then
21 echo "$SpringBoot is running..."
22 else
23 echo "Start $SpringBoot success..."
24 nohup java -jar $SpringBoot > /dev/null 2>&1 &
25 fi
26}
27
28function stop()
29{
30 echo "Stop $SpringBoot"
31 boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
32 count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
33
34 if [ $count != 0 ];then
35 kill $boot_id
36 count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
37
38 boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
39 kill -9 $boot_id
40 fi
41}
42
43function restart()
44{
45 stop
46 sleep 2
47 start
48}
49
50function status()
51{
52 count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
53 if [ $count != 0 ];then
54 echo "$SpringBoot is running..."
55 else
56 echo "$SpringBoot is not running..."
57 fi
58}
59
60case $1 in
61 start)
62 start;;
63 stop)
64 stop;;
65 restart)
66 restart;;
67 status)
68 status;;
69 *)
70
71 echo -e "\033[0;31m Usage: \033[0m \033[0;34m sh $0 {start|stop|restart|status} {SpringBootJarName} \033[0m
72\033[0;31m Example: \033[0m
73 \033[0;33m sh $0 start esmart-test.jar \033[0m"
74esac
75