장대한 삽질의 스크립트 ㅇㅇ
#!/bin/bash
YT_ID="roid"
YT_HOME="/home/roid/ytcap"
if [ "$USER" != "$YT_ID" ]; then
echo "This script must be run as $YT_ID" 1>&2
exit 1
fi
netstat -ntpl 2>/dev/null | grep LISTEN | grep [0-9:]:${1:-7090}" " -q ;
IS_EXIST7090=$?
CHK_PS=`netstat -ntpl 2>/dev/null | grep LISTEN | awk '/:7090 */ {split($NF,a,"/"); print a[1]}'` ;
ps -ef | grep java | grep YTCAP.jar | awk '{print $2}' | grep ${1:-$CHK_PS} -q 2>/dev/null ;
IS_YT7090=$?
if [ $IS_EXIST7090 -eq 0 ] ; then
if [ $IS_YT7090 -eq 0 ] ; then
ps -ef | grep java | grep YTCAP.jar
echo "YTCAP already running !!"
exit 0
else
netstat -ntpl 2>/dev/null | grep LISTEN | grep [0-9:]:${1:-7090}" "
echo "7090 port already used by other process !!"
exit 1
fi
else
ps -ef | grep YTCAP.jar | grep ${1:-java} -q 2>/dev/null ;
if [ $? -eq 0 ] ; then
ps -ef | grep java | grep YTCAP.jar
echo "YTCAP already running !! Wait a second for port listen !!"
exit 0
fi
fi
CUR_DIR=`pwd`
ps aux | grep java | grep YTCAP.jar | awk '{print $2}' | xargs kill 2>/dev/null
sleep 1
cd $YT_HOME
nohup java -Dfile.encoding=UTF-8 -Djava.ext.dirs=lib -jar YTCAP.jar -p 7090 >/dev/null 2>&1 &
cd $CUR_DIR
ps -ef | grep java | grep YTCAP.jar
exit 0
삽질의 집대성 ㅇㅇ
먼저 실행하는 id부터 체크
그후에 포트 리슨하는 넘이 이미 있는지 체크하고,
그런데 이 넘의 프로세스가 올라오는게 졸라 느려서
네트워크만 포트 리슨 안하면 혹시나 프로세스가 러닝 중인지 체크하고
그래도 없으면 올리는 스크립트.
ㅇㅇ
삽질의 집대성이라서 버리기 아까워서 일단 올려봄.
ㅇㅇ
댓글 0