博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
运维经验分享(五)-- 改进的java进程管理的服务控制脚本
阅读量:5734 次
发布时间:2019-06-18

本文共 6298 字,大约阅读时间需要 20 分钟。

运维经验分享作为一个专题,目前共7篇文章

  1. 《》

  2. 《》

  3. 《》

  4. 《》

  5. 《》

  6. 《》

  7. 《》

====================================分割线======================================

针对上一篇文章《》

最初版本(由别人写的):

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
#!/bin/sh
#chkconfig: 345 86 14
#description: Startup and shutdown script for ChatterServer
VERSION=1.0.0-snapshot
PIDFILE=.
/pid/chatter
.pid
SERVER=.
/chatter-
$VERSION\.jar
ARGS=
"-Xms2g -Xmx2g -Xmn2g -Xss128k"
# -Xms2g -Xmx2g -Xmn2g -Xss128k -XX:MaxPermSize=64m -XX:-UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=30 -XX:SurvivorRatio=6
 
start()
{
    
if 
test 
-e $SERVER
    
then
        
echo 
"Starting $SERVER"
        
if 
java -jar $SERVER $ARGS >.
/logs/console
.out 2>&1 &
        
then
            
echo 
$! > $PIDFILE
            
echo 
"server start OK"
        
else
            
echo 
"server start failed"
        
fi
    
else
        
echo 
"Couldn't find $SERVER"
    
fi
}
 
stop()
{
         
if 
test 
-e $PIDFILE
         
then
                   
echo 
"Stopping server"
                   
if 
kill 
`
cat 
$PIDFILE` 2>.
/logs/console
.out
                   
then
                            
echo 
"server stop OK"
                   
else
                        
echo 
"server stop faild"
                   
fi
         
else
                   
echo 
"No server running"
         
fi
}
 
restart()
{
    
echo 
"Restarting server"
    
stop
    
start
}
 
case 
$1 
in
         
start)
                
start
        
;;
         
stop)
            
stop
        
;;
         
restart)
            
restart
        
;;
         
*)
            
echo 
"Usage: $SCRIPTNAME {start|stop|restart|list}" 
>&2
        
exit 
1
        
;;
esac
exit 
0

第一版本(我写的):

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/bin/bash
#chkconfig: 345 86 14
#description: Startup and shutdown script for ChatterServer
VERSION=1.0.0-snapshot
PIDFILE=.
/pid/chatter
.pid
SERVER=.
/chatter-
$VERSION\.jar
ARGS=
"-Xms2g -Xmx4g -Xmn4g -Xss128k -XX:MaxPermSize=64m -XX:-UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=30 -XX:SurvivorRatio=6"
# -Xms2g -Xmx2g -Xmn2g -Xss128k -XX:MaxPermSize=64m -XX:-UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=30 -XX:SurvivorRatio=6
 
start()
{
    
if 
test 
-f $PIDFILE
    
then
        
if 
test 
-d 
/proc/
$(
cat 
$PIDFILE)
        
then
            
echo 
"server has started"
            
exit 
1
        
fi
    
fi
    
if 
test 
-e $SERVER
    
then
        
echo 
"Starting $SERVER"
        
if 
java -jar $SERVER $ARGS >>.
/logs/console
.out 2>&1 &
        
then
            
sleep 
2
            
if 
[[ -d 
/proc/
$! ]]; 
then
                
echo 
$! > $PIDFILE
                
echo 
"server start OK"
            
fi
        
elif 
java -jar $SERVER $ARGS >>.
/logs/console
.out 2>&1 &
        
then
            
sleep 
2
            
if 
[[ -d 
/proc/
$! ]]; 
then
                
echo 
$! > $PIDFILE
                
echo 
"server start OK"
            
fi
        
else
            
echo 
"server start failed"
            
exit 
1
        
fi
    
else
        
echo 
"Couldn't find $SERVER"
        
exit 
1
    
fi
}
 
stop()
{
         
if 
test 
-e $PIDFILE
         
then
                   
echo 
"Stopping server"
                   
if 
kill 
-TERM `
cat 
$PIDFILE` >>.
/logs/console
.out 2>&1
                    
then
                        
sleep 
2
                        
if 
test 
-d 
/proc/
$(
cat 
$PIDFILE)
                        
then
                            
echo 
"server has started"
                            
sleep 
60
                        
fi
                        
echo 
"server stop OK"
                        
/bin/rm 
$PIDFILE
                   
elif
                    
kill 
-KILL `
cat 
$PIDFILE` >>.
/logs/console
.out 2>&1
                    
then
                        
sleep 
2
                        
if 
test 
-d 
/proc/
$(
cat 
$PIDFILE)
                        
then
                            
echo 
"server has started"
                            
sleep 
60
                        
fi
                        
echo 
"server stop OK"
                        
/bin/rm 
$PIDFILE
                   
elif
                    
kill 
-9 `
cat 
$PIDFILE` >>.
/logs/console
.out 2>&1
                    
then
                        
sleep 
2
                        
if 
test 
-d 
/proc/
$(
cat 
$PIDFILE)
                        
then
                            
echo 
"server has started"
                            
sleep 
60
                        
fi
                        
echo 
"server stop OK"
                        
/bin/rm 
$PIDFILE
                   
else
                        
echo 
"server stop failed"
                        
exit 
1
                   
fi
         
else
                   
echo 
"No server running"
                   
exit 
1
         
fi
}
 
restart()
{
    
echo 
"Restarting server"
    
stop
    
start
}
 
case 
$1 
in
         
start)
                
start
        
;;
         
stop)
            
stop
        
;;
         
restart)
            
restart
        
;;
         
*)
            
echo 
"Usage: $0 {start|stop|restart}" 
>&2
        
exit 
1
        
;;
esac
exit 
0

第二版本(最后针对stop服务进程再次优化过的):

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/bin/bash
#chkconfig: 345 86 14
#description: Startup and shutdown script for ChatterServer
VERSION=1.0.0-snapshot
PIDFILE=.
/pid/chatter
.pid
SERVER=.
/chatter-
$VERSION\.jar
ARGS=
"-Xms2g -Xmx4g -Xmn4g -Xss128k -XX:MaxPermSize=64m -XX:-UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=30 -XX:SurvivorRatio=6"
# -Xms2g -Xmx2g -Xmn2g -Xss128k -XX:MaxPermSize=64m -XX:-UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=30 -XX:SurvivorRatio=6
 
start()
{
    
if 
test 
-f $PIDFILE
    
then
        
if 
test 
-d 
/proc/
$(
cat 
$PIDFILE)
        
then
            
echo 
"server has started"
            
exit 
1
        
fi
    
fi
    
if 
test 
-e $SERVER
    
then
        
echo 
"Starting $SERVER"
        
if 
java -jar $SERVER $ARGS >>.
/logs/console
.out 2>&1 &
        
then
            
sleep 
2
            
if 
[[ -d 
/proc/
$! ]]; 
then
                
echo 
$! > $PIDFILE
                
echo 
"server start OK"
            
fi
        
elif 
java -jar $SERVER $ARGS >>.
/logs/console
.out 2>&1 &
        
then
            
sleep 
2
            
if 
[[ -d 
/proc/
$! ]]; 
then
                
echo 
$! > $PIDFILE
                
echo 
"server start OK"
            
fi
        
else
            
echo 
"server start failed"
            
exit 
1
        
fi
    
else
        
echo 
"Couldn't find $SERVER"
        
exit 
1
    
fi
}
 
stop()
{
         
if 
test 
-e $PIDFILE
         
then
                   
echo 
"Stopping server"
                   
if 
kill 
-TERM `
cat 
$PIDFILE` >>.
/logs/console
.out 2>&1
                    
then
                        
sleep 
2
                        
if 
test 
-d 
/proc/
$(
cat 
$PIDFILE)
                        
then
                            
sleep 
60
                        
else
                            
echo 
"server stop OK"
                            
/bin/rm 
$PIDFILE
                        
fi
                   
elif
                    
kill 
-KILL `
cat 
$PIDFILE` >>.
/logs/console
.out 2>&1
                    
then
                        
sleep 
2
                        
if 
test 
-d 
/proc/
$(
cat 
$PIDFILE)
                        
then
                            
sleep 
60
                        
else
                            
echo 
"server stop OK"
                            
/bin/rm 
$PIDFILE
                        
fi
                   
elif
                    
kill 
-9 `
cat 
$PIDFILE` >>.
/logs/console
.out 2>&1
                    
then
                        
while 
[[ -d 
/proc/
$(
cat 
$PIDFILE) ]]; 
do
                            
sleep 
1
                        
done
                        
if 
test 
-d 
/proc/
$(
cat 
$PIDFILE)
                        
then
                            
echo 
"server stop failed"
                            
exit 
1
                        
else
                            
echo 
"server stop OK"
                            
/bin/rm 
$PIDFILE
                        
fi
                   
else
                        
echo 
"server stop failed"
                        
exit 
1
                   
fi
         
else
                   
echo 
"No server running"
                   
exit 
1
         
fi
}
 
restart()
{
    
echo 
"Restarting server"
    
stop
    
start
}
 
case 
$1 
in
         
start)
                
start
        
;;
         
stop)
            
stop
        
;;
         
restart)
            
restart
        
;;
         
*)
            
echo 
"Usage: $0 {start|stop|restart}" 
>&2
        
exit 
1
        
;;
esac
exit 
0

--end--

====================================分割线======================================

运维经验分享作为一个专题,目前共7篇文章

  1. 《》

  2. 《》

  3. 《》

  4. 《》

  5. 《》

  6. 《》

  7. 《》

本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1677157,如需转载请自行联系原作者
你可能感兴趣的文章
js scroll事件
查看>>
day08 文件操作
查看>>
最长递增子序列 动态规划
查看>>
「小程序JAVA实战」微信小程序工程结构了解(五)
查看>>
使用列表
查看>>
Edge browser hosts file
查看>>
原生CSS设置网站主题色—CSS变量赋值
查看>>
概率dp - UVA 11021 Tribles
查看>>
webpack 4.0 中 clean-webpack-plugin 的使用
查看>>
数据库神器:Navicat Premium
查看>>
WPF
查看>>
Best website for Photogrammetry
查看>>
中文词频统计
查看>>
POJ 2236 Wireless Network (并查集)
查看>>
python分类
查看>>
linux 中常见的压缩和解压缩的命令
查看>>
GitBlit (1)-- 在linux 安装 GitBlit 并运行
查看>>
Windows与Linux之间的文件自动同步
查看>>
topcoder srm 714 div1
查看>>
20160215
查看>>