-
Notifications
You must be signed in to change notification settings - Fork 20
/
start
executable file
·48 lines (44 loc) · 1.07 KB
/
start
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
#!/bin/sh
# Athena自動再起動スクリプト
#
# [USAGE] ./start
#
# 既にAthenaを起動した状態では実行しないで下さい。
# サーバーの状態を確認するスクリプトが動作するので、シェルに戻りません。
# Athenaを止めたいときは Ctrl+C で終了してください。
#
# もしくは ./start & としてバックグラウンドで起動すると
# シェルに戻ってきますが、サーバーの停止が少し面倒です。
L_SRV=./bin/login-server
C_SRV=./bin/char-server
M_SRV=./bin/map-server
if [ $(ps ax | grep -E "${M_SRV}|${C_SRV}|${L_SRV}" | grep -v grep | wc -l) -ne 0 ]; then
echo "Athena is already running..."
else
./athena-start start
sleep 30
while true
do
if [ $(ps ax | grep -E "${M_SRV}|${C_SRV}|${L_SRV}" | grep -v grep | wc -l) -lt 3 ]; then
printf "Error:"
date
sleep 10
printf "Checking:"
date
if [ $(ps ax | grep -E "${M_SRV}|${C_SRV}|${L_SRV}" | grep -v grep | wc -l) -lt 3 ]; then
printf "Error Confirmation:"
date
printf "Restoration:"
date
./athena-start restart
else
printf "Check Miss Sorry:"
date
fi
#else
#printf "Check OK:"
#date
fi
sleep 10
done
fi