管理 java 项目脚本示例
# linux 示例
#!/bin/bash
Tag="Application_${PROJECT_ID}"
MainClass="org.springframework.boot.loader.JarLauncher"
Lib="${PROJECT_PATH}"
Log="${PROJECT_PATH}/run.log"
JVM="-server -Xms128m -Xmx128m -XX:PermSize=32M -XX:MaxNewSize=64m -XX:MaxPermSize=64m -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"
echo $Tag
RETVAL="0"
# See how we were called.
function start() {
echo $Log
if [ ! -f $Log ]; then
touch $Log
fi
nohup java $JVM -Dappliction=$Tag -Djava.ext.dirs=$Lib":${JAVA_HOME}/jre/lib/ext" $MainClass > $Log 2>&1 &
sleep 3
head -n 10 $Log
}
function stop() {
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo -n "boot ( pid $pid) is running"
echo
echo -n $"Shutting down boot: "
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo "kill boot process"
kill -9 "$pid"
fi
else
echo "boot is stopped"
fi
status
}
function status()
{
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
#echo "$pid"
if [ "$pid" != "" ]; then
echo "running:$pid"
else
echo "boot is stopped"
fi
}
# See how we were called.
RETVAL="0"
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
*)
usage
;;
esac
exit $RETVAL
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
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
# window 示例
@echo off
@REM setlocal enabledelayedexpansion
@REM Set environment variables to prevent some servers from failing to taskkill
set PATH = %PATH%;C:\Windows\system32;C:\Windows;C:\Windows\system32\Wbem
set Tag=Jpom-demo-case-${PROJECT_ID}
set MainClass=org.springframework.boot.loader.JarLauncher
set Lib=${PROJECT_PATH}
set Log=${PROJECT_PATH}/run.log
set JVM=-server -Xms200m -Xmx400m
set ARGS=
IF "%1"=="start" call:start
IF "%1"=="stop" call:stop
IF "%1"=="status" call:status
@REM start
:start
if "%JAVA_HOME%"=="" (
echo please configure [JAVA_HOME] environment variable
EXIT 2
)
echo Starting.....
javaw %JVM% -Dapplication=%Tag% -Djava.ext.dirs=%Lib% %MainClass% %ARGS% %1 >> %Log%
timeout 3
EXIT 0
goto:eof
@REM stop
:stop
for /f "tokens=1 delims= " %%I in ('jps -v ^| findstr "Jpom-demo-case-${PROJECT_ID}"') do taskkill /F /PID %%I
EXIT 0
goto:eof
@REM view status
:status
for /f "tokens=1 delims= " %%I in ('jps -v ^| findstr "Jpom-demo-case-${PROJECT_ID}"') do @echo running:%%I
EXIT 0
goto:eof
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
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
帮助我们改善此文档 (opens new window)
上次更新: 2022/12/02, 13:53:34