Add controls for bash script.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
codikiScreenName='codiki'
|
||||
lockFile='/opt/codiki/bin/lock'
|
||||
deadFile='/opt/codiki/bin/dead'
|
||||
screenRegex='codiki.\(([0-9]{2}/){2}[0-9]{4} [0-9]{2}(:[0-9]{2}){2}\)'
|
||||
|
||||
start() {
|
||||
screen -dmS $codikiScreenName java -jar /opt/codiki/bin/codiki.jar
|
||||
@@ -17,26 +18,31 @@ start() {
|
||||
}
|
||||
|
||||
stop() {
|
||||
screen -dr $codikiScreenName -X -S quit
|
||||
if [ $? -eq 0 ]
|
||||
if [ $(status_by_screen) -eq 1 ] && [ -f $lockFile ]
|
||||
then
|
||||
rm -f $lockFile
|
||||
date > $deadFile
|
||||
screen -dr $codikiScreenName -X -S quit
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
rm -f $lockFile
|
||||
date > $deadFile
|
||||
else
|
||||
echo "Service failed to stop..."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Service failed to stop..."
|
||||
exit 1
|
||||
echo "Service is not running."
|
||||
fi
|
||||
}
|
||||
|
||||
status() {
|
||||
if [ -f /var/lock/subsys/codiki ]
|
||||
if [ -f $lockFile ] && [ $(status_by_screen) -eq 1 ]
|
||||
then
|
||||
cat << EOF
|
||||
tput setaf 2; cat << EOF
|
||||
codiki.service - The Codiki web app server
|
||||
Active: active (running) since $(cat $lockFile)
|
||||
EOF
|
||||
else
|
||||
cat << EOF
|
||||
tput setaf 1; cat << EOF
|
||||
codiki.service - The Codiki web app server
|
||||
Active: inactive (dead) since $(cat $deadFile)
|
||||
EOF
|
||||
@@ -51,6 +57,10 @@ restart() {
|
||||
start
|
||||
}
|
||||
|
||||
status_by_screen() {
|
||||
echo $(screen -ls | egrep -o "$screenRegex" | wc -l)
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
@@ -68,4 +78,4 @@ case "$1" in
|
||||
echo "Usage: $0 {start|stop|status}"
|
||||
exit 1
|
||||
esac
|
||||
exit 0
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user